Z jakiegoś powodu stan mojej aplikacji stał się gigantyczny (około 14 milionów znaków). Dodaje około 1 minuty czasu ładowania. Jeśli strona ładuje się ostatecznie (co nie jest często), serwer zawiesza się za każdym razem, gdy ktoś wysyła formularz, ponieważ "Post size exceeded allowed limits.
"Viewstate ukryte pole tak duże, że wszystko zawiesza się
Pojawił się nagle. Nie dodałem żadnych pól, tylko niektóre javascript na stronie.
Ludzie powiedzieli mi, abym sprawdził stan oglądania. Google powiedziało mi, żebym to zrobił:
<pages maxPageStateFieldLength="1024">
... więc teraz zamiast dużego ukrytego pola mam teraz około 100 bardzo dużych ukrytych pól. Nie jest to dokładnie to, czego szukałem.
Dlaczego firma .NET zrobi coś takiego? Jak mogę to naprawić?
Czy istnieje możliwość wyłączenia stanu widoku dla kilku elementów sterujących? –
Trudno powiedzieć bez patrzenia na stronę, ale spróbuj dekodera widoku, aby zobaczyć, co jest osadzone w okienku wyświetlania. Powinieneś także wyłączyć stan wyświetlania siatek/tabel, jeśli ich nie potrzebujesz, a być może zaimplementować skompresowany stan widoku, a także włączyć gzip w IIS. –
Kontrolki są polami wejściowymi i nie ma sposobu, aby wyłączyć stan ich wyświetlania, a nawet gdyby to wymagało ponownego napisania dużej ilości kodu. Jest też 10 pól, nie powinno być tak źle ... prawda? – marcgg