"System.Web.HttpException: истекло время ожидания запроса." ошибки в Response.write - PullRequest
0 голосов
/ 22 июля 2009

Я получаю прерывистое «System.Web.HttpException: истекло время ожидания запроса». ошибка, когда мой код попадает в строку response.write ():

sMessage = "Searching...0% complete."<br>
sSetVal = "&lt;script>document.getElementById('MessageDiv').innerHTML='" & sMessage & "';&lt;/script>"<br>
Response.write(sSetVal)

Обратите внимание, что Response.BufferOutput = false устанавливается при первом запуске страницы (задолго до того, как будет выполнен вышеуказанный код).

Код используется для обновления сообщения о ходе выполнения, в то время как другие потоки выполняют долго выполняющиеся процессы. Один поток работает непрерывно и проверяет состояние других потоков. По завершении других потоков этот поток выводит обновленные сообщения о состоянии конечному пользователю. Я понимаю, что это может (должно) быть перекодировано с использованием ajax, но это устаревшее приложение, и на данный момент это не вариант.

Этот код запускается более 10000 раз в день, и ошибка возникает только около 5 раз - поэтому я подозреваю, что объект ответа блокируется другими потоками, когда веб-сайт загружается. Однако я не знаю, какие счетчики производительности следует проверять в мониторе производительности. Или эта проблема вызвана чем-то другим? Я использую IIS 6, asp.net v2 и vb.net

1 Ответ

0 голосов
/ 22 июля 2009

Вы пытались переместить Response.BufferOutput = false до Response.Write?

Я бы попробовал отслеживать счетчики производительности для использования памяти и коллекций GC2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...