确保 SqlDependency 已停止
Ensure SqlDependency was Stopped
SqlDependency 在应用程序启动时启动并在应用程序停止时停止。可能存在 SqlDependency.Stop()
失败的情况(例如,连接到数据库时出现问题)。据我了解,SqlDependency 基础结构无论如何都会在超时时被删除。
但我不明白 SqlDependency.Stop() 还能做什么?
在 SqlDependency.Start() 之前调用 SqlDependency.Stop() 有意义吗?
Does it make sense to call SqlDependency.Stop() before SqlDependency.Start()?
如果未调用 Start()
,则调用 Stop()
是空操作。我们可以查看 SqlDependency.cs 参考源
internal static bool Stop(string connectionString, string queue, bool useDefaults, bool startFailed) {
...
bool result = false;
lock (_startStopLock) {
if (null != _processDispatcher) { // If _processDispatcher null, no Start has been called.
....
}
}
return result;
所以它没有伤害,但不应该需要它。
SqlDependency 在应用程序启动时启动并在应用程序停止时停止。可能存在 SqlDependency.Stop()
失败的情况(例如,连接到数据库时出现问题)。据我了解,SqlDependency 基础结构无论如何都会在超时时被删除。
但我不明白 SqlDependency.Stop() 还能做什么?
在 SqlDependency.Start() 之前调用 SqlDependency.Stop() 有意义吗?
Does it make sense to call SqlDependency.Stop() before SqlDependency.Start()?
如果未调用 Start()
,则调用 Stop()
是空操作。我们可以查看 SqlDependency.cs 参考源
internal static bool Stop(string connectionString, string queue, bool useDefaults, bool startFailed) {
...
bool result = false;
lock (_startStopLock) {
if (null != _processDispatcher) { // If _processDispatcher null, no Start has been called.
....
}
}
return result;
所以它没有伤害,但不应该需要它。