2013-05-02 1 views
0

У меня есть сайт IIS для внутренней обработки заданий. работа займет около 10 минут. Когда пользователь нажимает кнопку, чтобы начать задание, примерно через минуту вся страница бежит белой страницей и показывает «Время ожидания соединения». Однако работа связана с вызовом API 3-го класса, они все еще идут в подполье.Тайм-аут соединения, но работа все еще работает

Когда работа все еще запущена, пользователь не может вернуться на сайт. По завершении задания пользователь может снова использовать веб-сайт.

Есть ли здесь какой-нибудь секрет?

ответ

0

У вас здесь есть несколько вещей.

  1. время веб-браузер будет ждать ответа
  2. время веб-сервер будет обрабатывать запрос
  3. времени команда SQL будет выполняться до клиента по тайм-ауту.
  4. время, когда SQL-сервер выполнит команду до того, как она завершит команду.

Обычно WebBrowser одна минута или две (не уверен, что точных цифр) см: connection timeout in IE см: в Firefox, вы должны быть в состоянии проверить о: конфиг

Для веб-сервера и жереха. нетто см. HttpRuntimeSection.ExecutionTimeout Property

время ожидания команды Sqlcommand.CommandTimeout Значение по умолчанию - 30 секунд.

Это, как говорится ... только потому, что клиент останавливается, не заставляет сервер sql прекратить выполнение команды. При закрытии соединения следует прекратить выполнение команды на сервере, однако вам может потребоваться отменить любые изменения, которые она могла бы сделать.

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

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

как

Response.Write("<!-- progress ... -->"); 
    Response.Flush(); 

Вы должны очистить так, чтобы он не буферизует ответ на стороне сервера

+0

Спасибо. Позвольте мне указать реальную ситуацию: на стороне сервера код C# у нас была циркуляция, отправляющая, например, 400 объектов на удаленный вызов API. на странице отображается время ожидания соединения, но код сервера все еще работает. давайте исключаем проблему SQL. –

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