【问题标题】:How to increase the server timeout in asp.net?如何增加asp.net中的服务器超时?
【发布时间】:2016-02-12 11:20:52
【问题描述】:

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

我们还使用 pagemethods => webmethods 来联系 sql server。

【问题讨论】:

  • 虽然您可以在 web.config 中设置此项,但最终 IIS 会决定会话超时。

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


【解决方案1】:

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

您可能还想考虑通过添加索引等来提高 sql 查询的性能。您可以使用 SQL profiler 来捕获 Linq to SQL 生成的 sql 语句。获取查询并通过 SSMS 上的执行计划运行它,并查看执行时间最长的地方。这通常是一个很好的起点。

【讨论】:

  • 我们没有使用命令,而是使用 linq。在 linq 中我们如何增加超时时间?
  • 是的,但是 Linq to SQL 将表达式转换为 SQL,然后将其发送到数据库。看看这篇文章:codeproject.com/Articles/26283/…
【解决方案2】:

看看这个问题的答案: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
}

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 2023-02-22
    • 1970-01-01
    • 2012-03-12
    • 2013-01-07
    • 2010-12-03
    • 2012-10-01
    • 1970-01-01
    • 2018-07-31
    相关资源
    最近更新 更多