在 ASP.NET MVC 中执行 SQL Server 存储过程时如何防止超时错误?

Posted

技术标签:

【中文标题】在 ASP.NET MVC 中执行 SQL Server 存储过程时如何防止超时错误?【英文标题】:How to prevent timeout error when executing a SQL Server stored procedure in ASP.NET MVC? 【发布时间】:2019-05-27 23:20:15 【问题描述】:

我有一个 C# ASP.NET MVC 程序,它在加载页面时运行存储过程。如果我从 Microsoft SQL Server Management Studio 运行存储过程,则需要 1 分钟。但是,如果我尝试从代码中运行相同的存储过程,则会超时。 我在 web.config 中添加了 Connection Timeout=0,但有时可以,有时不行。

【问题讨论】:

尝试设置连接超时=0;在你的 web.config 文件的 connectionString 中 我在 web.config 中添加了 Connection Timeout=0,但有时可以,有时不行。 【参考方案1】:

你可以在调用存储过程时将超时命令设置为0。

using (SqlConnection connection = new SqlConnection(connectionString)) 

   connection.Open();  
   SqlCommand cmd= new SqlCommand(queryString, connection);  
   // Setting command timeout to 0 second  
   cmd.CommandTimeout = 0;  
   try 
     
     cmd.ExecuteNonQuery(); 
     
   catch(Exception ex)
   
      // log ex here
   

【讨论】:

以上是关于在 ASP.NET MVC 中执行 SQL Server 存储过程时如何防止超时错误?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC5 实现 SQL 查询工具

ASP.NET MVC 5使用Filter过滤Action参数防止sql注入

在 ASP.NET 中针对 SQL Compact 4.0 执行/查询

ASP.Net MVC 5 和 SQL 事务隔离级别

ASP.NET MVC4 执行流程

asp.net mvc 5 SQL查询中的命名参数