连接到脱机SQL Server时不会抛出异常

时间:2014-08-27 14:11:48

标签: c# sql sql-server

当我尝试从我的Web服务访问(打开连接)脱机sql server实例(服务已关闭)时,不会抛出任何异常,只需短暂的5秒超时然后返回(我将断点输出)在我的控制器中,在打开调用期间不确定连接对象还没有返回。)

我正在尝试模拟Web服务无法使用数据库的情况,并且会发现异常将被抛出,我只能记录错误。

有关如何正确检测数据库连接问题的任何建议(我猜我需要查看连接对象在调用open时返回的内容)。尽管如此,只是有异常泡沫会很好。

感谢。

1 个答案:

答案 0 :(得分:1)

除非您的线程在此之前被Web服务器超时中止,否则将会抛出连接超时。在控制器中放置try / catch肯定会捕获数据库连接超时。

您应该发布代码,因为SqlConnection.Open()肯定会抛出异常,但如果您使用其他一些电话/代码打开连接并且它被吞下,那么显然很难确定根本原因。

我的猜测是你要找回一个未连接的Connection对象,以检查它是否已连接:

if (conn.State == ConnectionState.Closed)
{ 
  ...
}
相关问题