我在我的一个页面上收到一个错误,linq查询超时,因为它花费的时间太长。这会使页面不可用。
这是一个报告页面,管理员每天只访问一次。减少这个查询是不可避免的,它只需要对大量数据进行排序。
我读到的解决方案是在数据上下文中增加超时属性,但我希望避免这样做,因为它会改变整个网站的超时属性。
有没有办法为单个页面设置更大的超时时间?
发布于 2012-01-23 18:20:41
刚刚找到了智能感知的答案:
using (MainContext db = new MainContext())
{
db.CommandTimeout = 3 * 60; // 3 Mins
}这就是在每个查询的基础上增加查询的超时时间的方法,就像修改连接字符串或数据上下文一样。
发布于 2016-06-15 19:57:38
@Tom Gullens的答案在EF6上对我不起作用
我不得不深入到DbContext上的数据库
Ecom.Database.CommandTimeout = 120;
希望这能节省你的时间。
发布于 2014-02-04 07:11:20
Tom Gullen的回答很好。
另一位受访者提到在连接字符串中设置连接超时。
我要注意的是,连接字符串的连接超时属性不是命令超时。当你仔细想一想时,这一点就更明显了。这是常见的错误。
https://stackoverflow.com/questions/8969751
复制相似问题