Frage

Ich habe eine Anwendung, die beim Systemstart ausgeführt wird, die auf der lokale SQL Server 2005-Installation sprechen muss. Ich bin mit der Servicecontroller Klasse zu warten, bis es den Zustand „Running“ einzugeben, und die meiste Zeit das funktioniert gut. Aber manchmal auf einem Kaltstart, meine erste Abfrage fehlschlägt, sagte, dass es nicht auf dem aktuellen Benutzer anmelden kann.

Es klingt wie eine Race-Bedingung, aber ich dachte, mein WaitForStatus Anruf, es lösen sollte.

Gibt es einen besseren Weg, um sicherzustellen, dass es wirklich-wirklich läuft? Sollte ich in einem extra Schlaf nur werfen und annehmen, dass es lange genug?

War es hilfreich?

Lösung

Sie können immer verwenden die System.Data. Sql.SqlDataSourceEnumerator und prüfen, ob die lokale Instanz.

Auf der Plus können Sie auch Versionsinformationen mit dem enumerator entdecken.

Andere Tipps

Sie könnten nur die Ausnahme abfangen und wieder versuchen, bis es funktioniert ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top