如何在asp.net中增加服务器超时?

时间:2015-11-11 11:12:11

标签: c# asp.net sql-server linq linq-to-sql

我们正在使用Linq连接数据库,在一种情况下我们需要执行大查询,我可以直接在sql server中执行该查询,但当我尝试通过asp.net执行相同的查询时,它显示超时错误,你能帮帮我吗?

我们也在使用pagemethods => webmethods联系sql server。

http://i.stack.imgur.com/iohRx.png

2 个答案:

答案 0 :(得分:0)

您需要增加CommandTimeout,而不是ConnectionTimout。 ConnectionTimeout(在其他答案中)是应用程序允许连接到数据库而不是运行注释的时间量。

您可能还希望通过添加索引等来提高sql查询的性能。您可以使用SQL事件探查器来捕获Linq to SQL生成的sql语句。抓取查询并通过SSMS上的执行计划运行它,看看它花了大部分时间执行的位置。这通常是一个很好的起点。

答案 1 :(得分:0)

看看这个问题的答案:Linq-to-SQL Timeout

您可以在DataContext对象(https://msdn.microsoft.com/library/system.data.linq.datacontext.commandtimeout%28v=vs.110%29.aspx)上设置命令超时。

示例(来自链接的答案):

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