【发布时间】:2014-11-26 07:39:15
【问题描述】:
现在,我的服务器已关闭,上面有我的数据库。就目前而言,当我尝试打开与数据库的连接时,它会在 sql.open() 方法上挂起 20 秒。当服务器启动并运行时它工作正常,但是如果用户选择这样做,有没有办法中断连接的打开?
【问题讨论】:
标签: c# sql connection
现在,我的服务器已关闭,上面有我的数据库。就目前而言,当我尝试打开与数据库的连接时,它会在 sql.open() 方法上挂起 20 秒。当服务器启动并运行时它工作正常,但是如果用户选择这样做,有没有办法中断连接的打开?
【问题讨论】:
标签: c# sql connection
您可以ping 服务器以确保它已启动。
More information here.
【讨论】:
Is there a way to interrupt the opening of the connection?
您应该使用OpenAsync 方法而不是Open。它有CancellationToken 作为参数,可用于请求在连接超时之前放弃操作。
有关 OpenAsync 的参考,请参阅 MSDN。
在异步打开的情况下,您应该处理StateChange 连接事件以捕捉实际打开连接的时刻。
【讨论】: