gpt4 book ai didi

.net - 为所有新命令对象设置自定义默认命令超时

转载 作者:行者123 更新时间:2023-12-03 22:33:47 25 4
gpt4 key购买 nike

默认CommandTimeout值为 30 秒。您可以通过执行以下操作手动更改命令对象实例上的值

Dim cmd As New System.Data.SqlClient.SqlCommand
cmd.CommandTimeout = 60

有没有办法指定不同的默认值,这样所有新命令对象在创建时都会在您的解决方案中自动具有此值?

最佳答案

据我所知,没有办法改变这个默认值。 SqlCommand 的构造函数代码是这样的:

public SqlCommand()
{
this.ObjectID = Interlocked.Increment(ref _objectTypeCount);
this._commandTimeout = 30;
this._updatedRowSource = UpdateRowSource.Both;
this._prepareHandle = -1;
this._rowsAffected = -1;
this._notificationAutoEnlist = true;
GC.SuppressFinalize(this);
}

一种可能的解决方法是使用作为参数传递给以 SqlCommand 作为参数的构造函数的预定义 SqlCommand。

所以你可以创建一个全局的 SqlCommand(一个模板)
 Dim commandTemplate60 = new SqlCommand()
commandTemplate60.Timeout = 60

然后当你需要一个超时为 60 秒的命令时
Dim cmd As New System.Data.SqlClient.SqlCommand(commandTemplate60)

不过,直接设置Timeout,好像工作量不大

关于.net - 为所有新命令对象设置自定义默认命令超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com