Tom*_*len 45 c# asp.net timeout linq-to-sql
我一直在我的一个页面上收到一个错误,linq查询已超时,因为它花了太长时间.它使页面无法使用.
这是一个报告页面,每天只能由管理员访问一次.根本不可避免地削减这个查询,它只需要对大量数据进行排序.
解决这个问题的解决方法我已经阅读过,通过增加数据上下文中的超时属性,但我想避免这样做,因为它会为整个网站改变它.
有没有办法为单个页面设置更长的时间?
Tom*_*len 70
刚刚找到了智能感知的答案:
using (MainContext db = new MainContext())
{
db.CommandTimeout = 3 * 60; // 3 Mins
}
Run Code Online (Sandbox Code Playgroud)
这就是如何在每个查询的基础上增加查询的时间,因为它应该修改连接字符串或数据上下文.
Mat*_*ius 11
@Tom Gullens的回答对我不起作用 EF6
我不得不深入到数据库 DbContext
Ecom.Database.CommandTimeout = 120;
希望这能为您节省一些时间.
这是 .Net 4.5 的最新语法。
MyDbContext context = new MyDbContext();
context.Database.SetCommandTimeout(300);
Run Code Online (Sandbox Code Playgroud)