W moim kontrolerze aplikacji ASP.NET MVC przetwarza żądanie i zwraca określony widok z kodem stanu 200
. Kiedy dotrze do Application_EndRequest
, to już jest 204
. Treść odpowiedzi w moim widoku jest poprawna i znajduje się w odpowiedzi, więc modyfikowany jest tylko kod statusu. Oto przykład (status jest 204, ale treść jest tam):Działanie kontrolera ASP.NET zwraca kod stanu 200, ale EndRequest ma go jako 204 (NoContent)
HTTP/1.1 204 No Content
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Vary: User-Agent
Access-Control-Allow-Origin: *
Date: Fri, 24 Nov 2017 22:12:17 GMT
To może być ActionFilter
modyfikowania kodu odpowiedzi, ale nie był w stanie znaleźć określony filtr, który robi to.
Co może potencjalnie zmienić kod statusu mojej odpowiedzi i jak mogę debugować wszystkie filtry działające na dane żądanie?
Jakiś filtr akcji/wyniku? – Shyju
jest kilka filtrów akcji, wyłączyłem wszystkie, które zostały zastosowane globalnie i na poziomie kontrolera/działania - ten sam wynik, prawdopodobnie niektóre filtry są domyślnie zastosowane, więc potrzebuję sposobu na poznanie wszystkich filtrów uczestniczących w przetwarzaniu żądania . –
Czy serwer proxy może znajdować się między Tobą i modyfikować kod statusu? W swojej pracy musiał dodać do naszego serwera proxy Apache, aby nie modyfikować nagłówków. –