我有一个在系统启动时运行的应用程序需要与本地SQL Server 2005安装进行通信。我正在使用ServiceController类来等待它进入“运行”状态,并且大多数情况下这都可以正常工作。但是,有时在冷启动时,我的第一个查询失败,说它无法登录当前用户。
这听起来像是竞争条件,但我认为我的WaitForStatus调用应该解决它。
有没有更好的方法来确保它真正真正运行?我应该多加一点睡眠并假设它足够长吗?
答案 0 :(得分:6)
你可以抓住异常并重试直到它工作......
答案 1 :(得分:3)
您可以随时使用the System.Data.Sql.SqlDataSourceEnumerator并检查本地实例。
在plus上,您还可以使用枚举器发现版本信息。