c# - 全局更改 CommandTimeout 默认值

标签 c# .net sql-server command-timeout

我们将一些旧软件迁移到新服务器。我们以前用的是SQL Server 2008 Enterprise,现在在新机器上用的是SQL Server 2014 Enterprise,所以现在应该更快了。

旧软件是遗留软件,即将过期,所以我不想花太多精力去修复它。但是由于某种原因,有一个 C# 函数针对我收到错误消息的数据库运行 SQL 查询

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

我读到的所有内容是,我必须使用 CommandTimeout 来延长超时时间。但不幸的是,一切都在“context connection = true”下运行。因此,如果有机会更改超时,重建此功能将需要相当多的工作。

我问自己,为什么它在旧机器上运行,而在新机器上却不行。所以它必须对新机器或新的 SQL Server 引擎做些什么。有什么方法可以更改 .NET Framework 或 SQL Server 中命令的标准超时 30 秒吗?

非常感谢您的任何建议!

最佳答案

您可以使用 CommandTimeout 属性设置命令的超时:

var cmd = new SqlCommand { CommandTimeout = 60 }

关于c# - 全局更改 CommandTimeout 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35609331/

相关文章:

C# 等效于 PHP 的原始输出 MD5?

c# - 当您在处理大数据集之前收集大量数据时,提高内存使用率的最佳方法是什么? (。网)

具有不同输入的 c# .net 方法

c# - SQL Server 连接错误号 :2, 状态 :0, 类:20

java - SQL错误无法通过Spring Boot应用程序中的Cucumber测试创建H2数据库

c# - 在 Asp.net MVC 中哪里运行初始化代码

使用 Contains 方法检查 List<float> 中的 float 时的 C# 准确性

c# - Entity Framework 的种子方法错误,未在代码优先模型中创建表

.net - ExecuteCodeWithGuarantedCleanup 何时真正保证清理?

asp.net - LINQ 实体Where 子句位置不正确