ASP.NET LINQ SQL执行超时的问题

最近在写一个航材取价的程序。由于执行的语句复杂,数据量比较大,容易造成超时。

ASP.NET LINQ SQL执行超时的问题_第1张图片

看提示应该是执行SQL的时候超时,我在程序中用的linq。

实际把SQL语句单独执行的时候观察也要40秒左右。

查资料得知

SqlCommand.CommandTimeout 
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。 
等待命令执行的时间(以秒为单位)。默认为 30 秒。

 

实际观察的时候也发现,一般提示出错就是在执行语句30秒的时候。

为解决此问题可以在程序中自定义设置执行语句超时的时间。

传统的ADO.NET使用

CommandTimeout = 180

LINQ可以使用

using (MainContext db = new MainContext()) { db.CommandTimeout = 3 * 60; // 3 Mins }


要考虑优化SQL语句,改成存储过程之类得了,看来。

你可能感兴趣的:(asp.net)