2

伙计们!

我正在使用实体框架(但实际上并不重要)和多个数据库(ObjectContexts)。其中一个 sql server 有额外的数据,这是可选的,它有时可以离线。

当我在服务器离线时尝试处理任何命令的异常时,我应该在 connection_instance.Open() 命令操作上等待 60 秒,这会给我带来异常:

建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接造成的。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

我可以以某种方式将此超时时间从 60 秒更改为 5 秒的另一个值吗?顺便说一句,我的实体框架超时连接是 2 秒,但它被忽略了。

看起来这个超时设置为整个系统(可能在 Windows 寄存器中)。我尝试通过 SQL Management Studio 连接到这个 sql 服务器,它也尝试连接 60 秒,之后得到了同样的异常。

那么,有没有办法改变这个超时值呢?或者也许还有另一种检查 sqlserver 状态的快速方法?

4

1 回答 1

0

ObjectContext.CommandTimeout 工作吗?

 /// <summary>
/// Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used.
/// </summary>
/// 
/// <returns>
/// An <see cref="T:System.Int32"/> value that is the timeout value, in seconds.
/// </returns>
/// <exception cref="T:System.ArgumentException">The timeout value is less than 0. </exception>
public int? CommandTimeout
于 2012-12-17T16:15:29.457 回答