Pergunta

Eu tenho um aplicativo que é executado no arranque do sistema que precisa falar com a instalação local do SQL Server 2005. Eu estou usando a classe ServiceController para esperar por ele para entrar no estado de "Running", e na maioria das vezes isso funciona bem. No entanto, por vezes, em um arranque a frio, a minha primeira consulta falhar, dizendo que não poderia fazer logon do usuário atual.

Parece uma condição de corrida, mas eu percebi que minha chamada WaitForStatus era para resolvê-lo.

Existe uma maneira melhor para se certificar de que é realmente-realmente funcionando? Devo apenas jogar em um sono extra e assumir que é tempo suficiente?

Foi útil?

Solução

Você pode sempre usar o System.Data. Sql.SqlDataSourceEnumerator e verificação para a instância local.

No plus, você pode também descobrir informações sobre a versão com o recenseador.

Outras dicas

Você poderia apenas capturar a exceção e tente novamente até que ele funciona ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top