Мне нужно установить CommandTimeout
недвижимость для определенного SqlCommand
. Предпосылка заключается в том, что основная строка подключения и SqlConnection
не могут быть изменены. Мне нравится настраивать значение тайм-аута. Хотелось узнать, может ли его хорошая и справедливая практика определять его в app.config (это настольное приложение)?Определение SqlCommand.CommandTimeout из файла конфигурации
ответ
app.config
- это фантастическое место для такого типа условий. Возможно, что-то вроде этого:
<appSettings>
<add key="commandTimeout" value="2" />
</appSettings>
0 0 Может быть, что-то вроде этого:
var timeout = cnn.ConnectionTimeout;
var configTimeout = ConfigurationManager.AppSettings["commandTimeout"];
if (!string.IsNullOrEmpty(configTimeout))
{
timeout = Convert.ToInt32(configTimeout);
}
Это, конечно, может существовать в статическом классе, как это может быть:
public static class AppSettings
{
private static int _commandTimeout = -1;
public static int CommandTimeout
{
get
{
if (_commandTimeout != -1) { return _commandTimeout; }
var configTimeout = ConfigurationManager.AppSettings["commandTimeout"];
if (!string.IsNullOrEmpty(configTimeout))
{
_commandTimeout = Convert.ToInt32(configTimeout);
}
else
{
_commandTimeout = 1; // this is the default if the setting doesn't exist
}
return _commandTimeout;
}
}
}
Тогда все, что вам придется сделать, это:
var timeout = AppSettings.CommandTimeout;
или даже более кратко:
cmd.CommandTimeout = AppSettings.CommandTimeout;
По умолчанию тайм-аут для SqlCommand.CommandTimeout Свойство составляет 30 секунд :) – rageit
@rageit, это правда, я просто бросал числа в свой пример. –
Вы c используйте свойство CommandTimeout и Time Paramater в файле конфигурации приложения.
connection = Factory.CreateConnection();
connection.ConnectionString = ConnectionString.ConnectionString;
connection.Open();
this.cmd = connection.CreateCommand();
cmd.CommandTimeout = ConfigurationManager.AppSettings["TimeConfigParam"];
- 1. Как работает SqlCommand.CommandTimeout ADO.NET?
- 2. Загрузить данные из файла конфигурации со значением из файла конфигурации
- 3. чтения конфигурации из файла
- 4. Определение раздела конфигурации
- 5. Определение частоты из звукового файла
- 6. Определение (открытое) имя файла из файла FILE *
- 7. Angular2 Чтение из файла конфигурации
- 8. Инициирование строки из файла конфигурации
- 9. Ошибка чтения из файла конфигурации
- 10. открытие файла конфигурации из AppDomain
- 11. Развертывание файла конфигурации из VSPackage?
- 12. Чтение информации конфигурации из файла
- 13. XmlException, получаемый из файла конфигурации
- 14. C значение чтения из файла конфигурации
- 15. CKEditor: Определение конфигурации в Page
- 16. IBM Worklight 6.1 - Процедура конфигурации сервера - определение файла .war
- 17. Изменение конфигурации файла конфигурации Ionic
- 18. Автоматическое определение конфигурации последовательного порта?
- 19. Определение конфигурации решений (Visual Studio)
- 20. В чем разница между SqlCommand.CommandTimeout и SqlConnection.ConnectionTimeout?
- 21. Struts2 struts.xml файл конфигурации - определение глобального элемента конфигурации
- 22. Как создать MOF из файла конфигурации и файла конфигурации в конфигурации желаемого состояния PowerShell?
- 23. Ошибка конфигурации файла конфигурации C#
- 24. Настройка файла конфигурации конфигурации Программно
- 25. Загрузка элементов конфигурации из другого файла конфигурации в CI
- 26. Как получить все настройки конфигурации из файла конфигурации Azure?
- 27. Флажок не отображает значение конфигурации из файла конфигурации
- 28. Обновить настройки конфигурации из внешнего файла конфигурации во время выполнения
- 29. Чтение CodeIgniter значения конфигурации из базы данных вместо файла конфигурации
- 30. Catalyst Log4perl: настроить расположение файла конфигурации из конфигурации приложения
Немного субъективного вопроса, но я не вижу проблемы с ним. –
Но вы хотите изменить Timeout для каждого SqlCommand, используемого в вашем приложении, или только для одной команды? – Steve
@KevinDiTraglia Вместо абсолютной проблемы для меня это просто загадка для меня, и я хотел бы знать, как наилучшим образом ее решить :) – rageit