Question

J'ai une application qui s'exécute au démarrage du système et qui doit communiquer avec l'installation locale de SQL Server 2005. J'utilise la classe ServiceController pour attendre qu'elle entre le " En cours d'exécution " état, et la plupart du temps cela fonctionne bien. Toutefois, parfois, lors d’un démarrage à froid, ma première requête échoue, indiquant qu’elle ne pouvait pas se connecter à l’utilisateur actuel.

Cela ressemble à une situation de concurrence critique, mais j’ai pensé que mon appel WaitForStatus était supposé le résoudre.

Existe-t-il un meilleur moyen de s’assurer qu’il fonctionne vraiment? Dois-je simplement dormir un peu plus et penser que c'est assez long?

Était-ce utile?

La solution

Vous pouvez toujours utiliser System.Data. Sql.SqlDataSourceEnumerator et recherchez l’instance locale.

Sur le plus, vous pouvez également découvrir les informations de version à l'aide de l'énumérateur.

Autres conseils

Vous pouvez simplement capturer l'exception et réessayer jusqu'à ce que cela fonctionne ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top