браузер ждет сервера бесконечно - PullRequest
1 голос
/ 22 марта 2009

У меня проблема с продолжительной страницей. Страница ASP.NET создается и обрабатывается браузером в течение примерно 20 минут.

Сервер успешно завершает ответ (согласно журналам и веб-трассировке ASP.NET), и я предполагаю, что отправляет его в браузер. Тем не менее, браузер никогда не получает страницу. Он (IE8 и Firefox 3 оба) продолжает вращаться и вращаться (я позволил ему работать в течение нескольких часов, ничего не происходит).

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

Я пробовал фиддлеры и сниффинг пакетов, и похоже, что сервер ничего не отправляет обратно. Он даже не отправляет пакеты keep-alive. Тем не менее, оба браузера, которые я пробовал, не истекают по истечении заданного периода времени (я полагаю, 1 час в IE, но не уверен, что это в Firefox).

Последний пакетный сервер отправляет обратно ACK для POST из браузера.

Я пробовал это на разных клиентских компьютерах, чтобы убедиться, что на моей машине это не сломанная конфигурация.

Как я могу еще диагностировать эту проблему? Почему время ожидания браузера не истекло, хотя нет пакетов поддержки активности?

p.s. Сервер Windows 2003, поэтому IIS6. Раньше он нормально работал на виртуальном хостинге, но они что-то изменили (когда переехали на новое место), и он сломался. Пытаюсь выяснить что.

p.p.s. Я знаю, что могу изменить дизайн страницы, чтобы избежать того, что страницы будут так долго обслуживаться. Я сделаю это, но я также хотел бы найти причину этой проблемы. Я бы хотел сосредоточиться на этой проблеме и избегать возможных альтернативных вариантов оформления страницы (используя AJAX или что-то еще).

Ответы [ 2 ]

2 голосов
/ 22 марта 2009

Проверьте время ожидания соединения с сервером (на странице свойств веб-сайта).

Лучшим подходом было бы отправить запрос, запустить расчет на сервере и предоставить страницу с таймером Javascript, который продолжает отправлять запросы самому себе. После обратной отправки эта страница проверяет, завершился ли процесс на сервере. Пока процесс еще выполняется, он отвечает другим таймером. После завершения он перенаправляет на результаты.

0 голосов
/ 14 апреля 2015

Не могли бы вы уточнить, как вы решили эту проблему? Кажется, у меня такой же. Я получаю отчет .docx, и оба браузера (IE10 и Fx37) бесконечно ждут ответа (продолжайте вращаться). Но он прекрасно работает в IIS Express VS2012 и на моем локальном хосте IIS7. Хотя на сервере есть IIS6.1

И когда он работает на локальном хосте, получение отчета занимает всего несколько минут.

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