2017-08-03 9 views
0

SqlDependency startet beim Start der Anwendung und stoppt beim Stoppen der App. Es kann Fälle geben, in denen SqlDependency.Stop() fehlgeschlagen ist (z. B. Problem mit Verbindung zur DB). Wie ich es verstehe, wird die SqlDependency-Infrastruktur sowieso durch Timeout entfernt.Sicherstellen, dass SqlDependency gestoppt wurde

Aber ich verstehe nicht, was SqlDependency.Stop() sonst noch tun?

Ist es sinnvoll, SqlDependency.Stop() vor SqlDependency.Start() aufzurufen?

Antwort

1

Ist es sinnvoll, SqlDependency.Stop() vor SqlDependency.Start() aufzurufen?

Wenn Start() nicht aufgerufen wurde, ist der Aufruf Stop() ein No-Op. Wir können in der Quelle SqlDependency.cs Referenz überprüfen

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; 

Also es tut nicht weh, aber es sollte nicht erforderlich sein.

Verwandte Themen