2014-09-24 2 views
0

У вас есть сайт, на котором выполняется запрос, который отлично работает с небольшими наборами возвращаемых данных. Когда пользователь запускает временной интервал, который занимает много времени, чтобы запустить я получаюДолгосрочный запрос тайм-аута

[System.Data.SqlClient.SqlException] = {"Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding."} 

Этот запрос не таймаут работает на самом SQL сервере.

У меня есть следующие в Web.config

<httpRuntime executionTimeout="360000"/> 

Элементы запуска в панели обновления, так я это

<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="360000"/> 

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

+0

Как долго запрос принимать, когда вы запускаете ее из студии управления? –

ответ

1

Вы проверили, настроено ли ваше соединение с сервером sql, отличным от используемой строки подключения. Я подозреваю, что это причина его работы с сервером sql, но не с кодом. Некоторые параметры по умолчанию отмечены на сервере sql. Это должно быть под инструментами. Вы можете добавить инструкции SET в свой код, чтобы это соответствовало.

см Кроме того, если это поможет - http://www.serverintellect.com/support/programming/sql-qtimeout/

0

Эта особая ошибка от команды SQL Вам нужно увеличить таймаут на вашем объекте SqlCommand. Помните, что ваша команда UpdatePanel запускается в собственной обратной передаче, поэтому вы работаете с другим объектом SqlCommand, чем тот, который использовался во время полного жизненного цикла страницы. Убедитесь, что вы установите этот тайм-аут где-нибудь, что будет эффективно для панели обновления.

Смотрите этот ответ для получения дополнительной информации:

Time out period not elapsed, but still timing out (see code)?

Вы должны убедиться, что значение времени ожидания на каждом уровне трубопровода достаточно большой, чтобы поддержать это.

Конечно, лучший вариант - настроить ваш запрос. Если вы столкнулись с 30-секундным тайм-аутом, вы можете вернуться к чертежной доске на то, что вы делаете, даже до переосмысления пользовательского интерфейса, чтобы избежать необходимости показывать слишком много данных.

Смежные вопросы