У нас есть сайт, на котором у нас возникли проблемы на нашем производственном сервере, но не на моей машине разработчика с прерванным запросом (следовательно, с нулевым ответом).
Каждый раз он терпит неудачу ровно через 1:19 минуты, а запрос на моей машине разработчика занимает примерно 1:44.
Длина контента составляет около 650 КБ, так что это не должно быть проблемой.
Рабочая среда - Windows 2008 с IIS7, среда разработки - Windows 7 с IIS 7.5.
У них идентичный файл web.config, но конфигурация машины немного отличается (хотя они должны быть стандартными после установки)
Что может быть причиной этого?
При просмотре журнала доступа в строке отображается 0 байт в ответе byt win32-code 995, который должен быть 0, это последние столбцы из строки доступа:
sc-status sc-substatus sc-win32-status sc-bytes time-taken
200 0 995 0 76933
995, похоже, связан с «потоком прервано» или чем-то еще, поэтому я уверен, что это IIS прерывает запрос. кажется, что процесс w3wp.exe запускается в течение некоторого времени даже после остановки запроса, поэтому я не думаю, что веб-приложение даже замечает, пока не пришло время писать в выходной поток.
РЕДАКТИРОВАТЬ: пробовали сейчас с разными подключениями, и похоже, что мой брандмауэр разрывает соединение из-за отсутствия данных (преждевременно). Отсюда код 995.
Попробуйте проверить параметр «executionTimeout» в ASP.NET. По умолчанию это значение составляет 110 секунд, что похоже на то, о чем вы сообщаете:
http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx
Это может быть любая из этих конфигураций:
Надеюсь это поможет.
У меня та же проблема, в моем случае сетевой адаптер является причиной sc-win32-status 995. Что вы изменили в брандмауэре, чтобы предотвратить это? В диспетчере устройств => сетевой адаптер => свойства => дополнительно вы можете установить несколько параметров, связанных с сетью.