Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows服务:检查基本服务是否正在运行_C#_.net_Sql Server_Service - Fatal编程技术网

C# Windows服务:检查基本服务是否正在运行

C# Windows服务:检查基本服务是否正在运行,c#,.net,sql-server,service,C#,.net,Sql Server,Service,我创建了一个连接到SQL server的窗口服务 但问题是,当服务器重新启动时,我的服务会在SQL Server服务启动之前尝试连接到SQL Server,因此我的服务会引发异常 在我的服务启动之前,是否有任何方法可以检测基本服务(SQL server)是否正在运行 我已经看到了,但这仅用于安装时间。您可以将SQL Server定义为服务的依赖项,但这并不能解决问题。SQL Server服务会很快报告处于“运行”状态。但是,当尝试连接时,您将收到一个异常,因为它在内部仍然很忙 除了尝试连接到数据

我创建了一个连接到SQL server的窗口服务

但问题是,当服务器重新启动时,我的服务会在SQL Server服务启动之前尝试连接到SQL Server,因此我的服务会引发异常

在我的服务启动之前,是否有任何方法可以检测基本服务(SQL server)是否正在运行


我已经看到了,但这仅用于安装时间。

您可以将SQL Server定义为服务的依赖项,但这并不能解决问题。SQL Server服务会很快报告处于“运行”状态。但是,当尝试连接时,您将收到一个异常,因为它在内部仍然很忙

除了尝试连接到数据库直到最终成功之外,似乎没有其他可靠的方法


另请参见

您可以捕获特定异常并稍后重试,例如,使用timeryes,我已经完成了。我正在寻找更好的方法(如果有)