Ответ 1
Насколько я знаю, нет способа изменить это значение по умолчанию. Код конструктора для 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)
Однако, задавая непосредственно тайм-аут, кажется, не много работы