使用实体框架并有几个关于超时的问题。
以下文章http://blogs.msdn.com/b/khen1234/archive/2005/10/20/483015.aspx 说
A client signals a query timeout to the server using an attention event. An attention
event is simply a distinct type of TDS packet a SQL Server client can send to it.
所以 SQL Server 本身(没有调控器)不能尊重发出的命令的超时并在超时到期后将其杀死。以以下查询为例
var x = objectContext.Employees.Select(e => e.FirstName);
我们发出查询 - 如果我们假设查询需要 40 秒才能完成,并且默认命令超时为 30 秒。什么时候触发注意事件?
A) 在 30 秒时?
B)40秒后(当查询在40秒后返回时,EF检查它是否大于默认值然后抛出异常)?
在这里,我还假设代码也会抛出 SqlException 并自动触发注意事件。