Mamy witrynę, w której mamy problemy na naszym serwerze produkcyjnym, ale nie na mojej maszynie deweloperskiej z żądaniem przerwanym (stąd zerowa odpowiedź).
Nie udaje się to za każdym razem dokładnie po 1:19 minut, a żądanie na mojej maszynie programistycznej zajmuje około 1:44.
Długość zawartości wynosi około 650 KB, więc nie powinno to stanowić problemu.
Środowisko produkcyjne to Windows 2008 z IIS7, środowisko programistyczne to Windows 7 z IIS 7.5
Mają identyczny plik web.config, ale konfiguracja komputera różni się nieznacznie (chociaż powinny być standardem od instalacji)
Co może być tego przyczyną?
Przeglądając dziennik dostępu, wiersz mówi 0 bajtów w odpowiedzi na bajt kod win32 995, który powinien wynosić 0, to są ostatnie kolumny z wiersza dostępu:
sc-status sc-substatus sc-win32-status sc-bytes time-taken
200 0 995 0 76933
995 wydaje się być związane z „przerwaniem wątku” lub czymś takim, dlatego jestem pewien, że to IIS przerywa żądanie. wydaje się, że proces w3wp.exe działa przez pewien czas, nawet po zatrzymaniu żądania, więc nie sądzę, aby aplikacja internetowa nawet zauważyła, dopóki nie nadejdzie czas na zapisanie strumienia wyjściowego.
EDYCJA: Próbowałem teraz z różnymi połączeniami i wygląda na to, że moja zapora sieciowa przerywa połączenie z powodu braku danych (przedwcześnie). Stąd kod 995.
Odpowiedzi:
Mam ten sam problem, w moim przypadku karta sieciowa jest przyczyną statusu SC-Win32 995. Co zmieniłeś w zaporze, aby temu zapobiec? W menedżerze urządzeń => karta sieciowa => właściwości => zaawansowane możesz ustawić kilka ustawień związanych z siecią
źródło
Spróbuj sprawdzić ustawienie „ExecutimeTimeout” w ASP.NET. Domyślnie wydaje się to 110 sekund, co jest podobne do tego, co zgłaszasz:
http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx
Może to być dowolna z następujących konfiguracji:
Mam nadzieję że to pomoże.
źródło