HttpSessionState.SessionID Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera unikatowy identyfikator sesji.
public:
property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String
Wartość właściwości
Unikatowy identyfikator sesji.
Przykłady
Poniższy przykład kodu przedstawia plik Web.config, który konfiguruje stan sesji w celu używania identyfikatorów sesji bez plików cookie. Aby uzyskać więcej informacji, zobacz IsCookieless właściwość .
<configuration>
<system.web>
<sessionState
cookieless="true"
regenerateExpiredSessionId="true"
timeout="30" />
</system.web>
</configuration>
Uwagi
Właściwość SessionID służy do unikatowego identyfikowania przeglądarki z danymi sesji na serwerze. Wartość SessionID jest generowana losowo przez ASP.NET i przechowywana w pliku cookie sesji bez wygaśnięcia w przeglądarce. Wartość SessionID jest następnie wysyłana w pliku cookie z każdym żądaniem do aplikacji ASP.NET.
Jeśli chcesz wyłączyć używanie plików cookie w aplikacji ASP.NET i nadal używać stanu sesji, możesz skonfigurować aplikację do przechowywania identyfikatora sesji w adresie URL zamiast pliku cookie, ustawiając cookieless
atrybut elementu konfiguracji sessionState na true
, lub UseUrina , w pliku Web.config dla aplikacji. Możesz mieć ASP.NET określić, czy pliki cookie są obsługiwane przez przeglądarkę, określając wartość UseDeviceProfile atrybutu cookieless
. Można również ASP.NET określić, czy pliki cookie są włączone dla przeglądarki, określając wartość AutoDetect atrybutu cookieless
. Jeśli pliki cookie są obsługiwane po UseDeviceProfile określeniu lub włączone, AutoDetect identyfikator sesji będzie przechowywany w pliku cookie. W przeciwnym razie identyfikator sesji będzie przechowywany w adresie URL. Aby uzyskać więcej informacji, zobacz IsCookieless właściwość .
Element SessionID jest wysyłany między serwerem a przeglądarką w postaci zwykłego tekstu w pliku cookie lub w adresie URL. W związku z tym niepożądane źródło może uzyskać dostęp do sesji innego użytkownika, uzyskując SessionID wartość i włączając ją w żądania do serwera. Jeśli przechowujesz prywatne lub poufne informacje w stanie sesji, zaleca się użycie protokołu SSL do szyfrowania dowolnej komunikacji między przeglądarką a serwerem zawierającym usługę SessionID.
W przypadku korzystania ze stanu sesji opartej na plikach cookie ASP.NET nie przydziela magazynu dla danych sesji, dopóki Session obiekt nie zostanie użyty. W związku z tym dla każdego żądania strony jest generowany nowy identyfikator sesji do momentu uzyskania dostępu do obiektu sesji. Jeśli aplikacja wymaga statycznego identyfikatora sesji dla całej sesji, możesz zaimplementować Session_Start
metodę w pliku Global.asax aplikacji i przechowywać dane w Session obiekcie w celu naprawienia identyfikatora sesji lub użyć kodu w innej części aplikacji do jawnego przechowywania danych w Session obiekcie.
Jeśli aplikacja używa stanu sesji bez plików cookie, identyfikator sesji jest generowany w pierwszym widoku strony i jest utrzymywany dla całej sesji.