Domanda

Ho un'app che gira all'avvio del sistema e deve parlare con l'installazione locale di SQL Server 2005. Sto usando la classe ServiceController per aspettare che entri in " Running " stato, e la maggior parte delle volte funziona bene. Tuttavia, a volte con un avvio a freddo, la mia prima query non riesce, dicendo che non è possibile accedere all'utente corrente.

Sembra una condizione di gara, ma ho pensato che la mia chiamata WaitForStatus avrebbe dovuto risolverlo.

Esiste un modo migliore per assicurarsi che funzioni davvero? Dovrei semplicemente aggiungere un sonno extra e supporre che sia abbastanza lungo?

È stato utile?

Soluzione

Puoi sempre utilizzare System.Data. Sql.SqlDataSourceEnumerator e verifica l'istanza locale.

Inoltre, puoi scoprire le informazioni sulla versione con l'enumeratore.

Altri suggerimenti

Potresti semplicemente catturare l'eccezione e riprovare fino a quando non funziona ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top