вручную увеличивая время ожидания команды SQL-сервера - PullRequest
3 голосов
/ 05 декабря 2011

У меня был тестовый хост Windows (50 МБ), который обслуживал мое веб-приложение ASP.NET, оно работало почти нормально, но после его обновления до 100 МБ у меня возникали частые ошибки тайм-аута сервера SQL при попытке удаленного подключения SQLсервер Visual Studio (т.е. при локальной разработке моего сайта), я пытался вручную увеличить время ожидания команд SQL, и я думаю, что это было каким-то образом решено, но я думаю, что мое действие не правильно, конечно, у моих зрителей нет проблем с просмотромстраницы, так как все отлично работает для конечных пользователей, у меня были проблемы только при разработке сайта и доступе к моей удаленной базе данных через VS2010. Стоит ли мне подумать об увеличении времени ожидания?как я могу глобально увеличить время ожидания?я должен установить свойство commandtimeout для каждой команды SQL?Можно ли увеличить его в строке подключения?конечно, поскольку я в настоящее время использую общий хост, я не могу изменить настройки студии управления SQL-сервером

, пожалуйста, сообщите мне об этой проблеме, так как у меня нет хорошего представления о свойстве timeout!спасибо

1 Ответ

7 голосов
/ 05 декабря 2011

Я не думаю, что есть какой-либо простой способ установить это глобально - например, в строке подключения или что-то.

То, что вы могли бы сделать (но для этого нужно, чтобы ваш код работал таким образом), поместило время ожидания вашей команды в конфигурацию:

<configuration>
   <appSettings>
      <add name="CommandTimeout" value="120" />
   </appSettings>
</configuration>

, а затем в своем коде прочитайте это значение из конфигурации и используйте его для своих SqlCommand классов:

int commandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]);

using(SqlCommand cmd = new SqlCommand(..(your SQL statement)..., connection))
{
    cmd.CommandTimeout = commandTimeout;
}

С этим вы можете, по крайней мере, изменить время ожидания, не меняя код

...