Udostępnij za pośrednictwem


HttpSessionState.SessionID Właściwość

Definicja

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.

Dotyczy

Zobacz też