Nasza witryna ma obecnie ten problem. Zasadniczo dzieje się to tylko wtedy, gdy klikniemy określone linki, w których pojawi się nowe okno.
Oto komunikat o błędzie, który otrzymujemy:
Nie można wysłać żądania stanu sesji do serwera stanu sesji.
Upewnij się, że usługa stanu ASP.NET jest uruchomiona, a porty klienta i serwera są takie same.
Jeśli serwer znajduje się na komputerze zdalnym, upewnij się, że akceptuje żądania zdalne, sprawdzając wartość HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection.
Jeśli serwer znajduje się na komputerze lokalnym i jeśli wcześniej wspomniana wartość rejestru nie istnieje lub jest ustawiona na 0, to ciąg połączenia serwera stanu musi zawierać „localhost” lub „127.0.0.1” jako nazwę serwera.
witryna docelowa:
Void MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)
to jest konfiguracja sieciowa, która zawiera tag stanu sesji:
<sessionState mode="StateServer" timeout="45" />
Sprawdziłem usługę stanową ASP.NET i jest ona obecnie uruchomiona i ustawiona na automatyczną
Ustawiłem rejestr podany w komunikacie o błędzie na 1, ale nadal nie działa.
aspnet_state
.Jeśli trzeba zmienić HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection 1, pamiętaj, aby ponownie uruchomić ten stan ASP.net usługę po zmianie parametru.
źródło
Sprawdź to:
jest poprawne. Sprawdź również, czy domyślny port (
42424
) jest dostępny, a Twój system nie mafirewall
portu, który blokuje port w Twoim systemieźródło
Wpisz Services.msc w panelu uruchamiania okna uruchamiania systemu Windows. Wyświetli listę wszystkich usług systemu Windows w naszym systemie. Teraz musimy uruchomić usługę Asp .net State, jak pokazano na obrazku.
Twój problem zostanie rozwiązany.
źródło
Jeden z moich klientów miał ten sam problem. Podejmowane są następujące kroki, aby to naprawić.
źródło
Inną rzeczą do sprawdzenia jest to, czy masz włączoną Zaporę systemu Windows, ponieważ może to blokować port 42424.
źródło
Odkryłem, że niektórzy programiści z jakiegoś powodu definiują prywatne IP serwera poza IIS w nieoczekiwanej lokalizacji, jak niestandardowy plik konfiguracyjny (tj. Nie web.config) lub plik tekstowy. Może to spowodować niepowodzenie operacji wewnętrznej, nawet gdy usługa jest uruchomiona, porty nie są blokowane, klucze reg są poprawne itp.
W szczególności Kaseya umieszcza plik o nazwie serveripinternal.txt w katalogu głównym IIS na serwerze VSA. Widziałem tekst twojego błędu, gdy ktoś prowadzący własną instancję Kaseya zmienił wewnętrzny adres IP serwera. Serwer będzie osiągalny, IIS odpowie i pojawi się strona logowania - ale logowanie nie powiedzie się z powodu cytowanej wiadomości.
źródło
Miałem ten sam problem, gdy część instalacji ASP.NET została uszkodzona. W takim przypadku sugerują uruchomienie aspnet_regiis -i -enable
źródło
Niedawno napotkałem ten problem i żadne z proponowanych rozwiązań go nie rozwiązało. Problemem okazało się nadmierne wykorzystanie zbiorów danych przechowywanych w sesji. W kodzie wystąpił błąd, który spowodował 10-krotny wzrost rozmiaru sesji.
Na blogu msdn jest artykuł, który również o tym mówi. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx
Użyłem funkcji do pisania niestandardowych komunikatów śledzenia, aby zmierzyć rozmiar danych sesji w aktywnej witrynie.
źródło
Nie najlepsza odpowiedź, ale i tak jest opcja:
źródło