Вопрос

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

Пожалуйста, направьте меня по этой проблеме, так как у меня нет хорошего чувства относительно собственности тайм -аута! Благодарность

Это было полезно?

Решение

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

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

<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;
}

При этом вы можете хотя бы настроить тайм -аут, не изменяя свой код.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top