Sdílet prostřednictvím


HttpSessionState.SessionID Vlastnost

Definice

Získá jedinečný identifikátor relace.

public:
 property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String

Hodnota vlastnosti

Jedinečný identifikátor relace.

Příklady

Následující příklad kódu ukazuje soubor Web.config, který konfiguruje stav relace tak, aby používal identifikátory relace bez souborů cookie. Další informace najdete ve IsCookieless vlastnosti .

<configuration>
  <system.web>
    <sessionState
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

Poznámky

Vlastnost SessionID slouží k jednoznačné identifikaci prohlížeče s daty relace na serveru. Hodnota SessionID je náhodně generována ASP.NET a uložena v souboru cookie relace, který nevypršela platnost, v prohlížeči. Hodnota SessionID se pak odešle v souboru cookie s každým požadavkem do aplikace ASP.NET.

Pokud chcete zakázat používání souborů cookie ve vaší ASP.NET aplikaci a přesto používat stav relace, můžete aplikaci nakonfigurovat tak, aby identifikátor relace ukládal v adrese URL místo souboru cookie nastavením cookieless atributu konfiguračního elementu sessionState na truehodnotu , nebo na UseUrihodnotu v souboru Web.config pro vaši aplikaci. Zadáním hodnoty UseDeviceProfile atributu můžete ASP.NET určit, zda jsou soubory cookie podporovány prohlížečem cookieless . Zadáním hodnoty AutoDetectcookieless atributu můžete také ASP.NET určit, jestli jsou pro prohlížeč povoleny soubory cookie. Pokud jsou soubory cookie podporovány, když UseDeviceProfile jsou zadány nebo povoleny, když AutoDetect jsou zadány, pak se identifikátor relace uloží do souboru cookie, jinak se identifikátor relace uloží do adresy URL. Další informace najdete ve IsCookieless vlastnosti .

Se odesílá mezi serverem a prohlížečem jako prostý text, a to SessionID buď v souboru cookie, nebo v adrese URL. V důsledku toho by nežádoucí zdroj mohl získat přístup k relaci jiného uživatele tím, že získá SessionID hodnotu a zahrne ji do požadavků na server. Pokud ukládáte soukromé nebo citlivé informace ve stavu relace, doporučujeme použít SSL k šifrování veškeré komunikace mezi prohlížečem a serverem SessionID, která zahrnuje .

Při použití stavu relace založeného na souborech cookie ASP.NET nepřiděluje úložiště pro data relace, dokud Session se objekt nepoužije. V důsledku toho se pro každou žádost o stránku vygeneruje nové ID relace, dokud nebude přístup k objektu relace. Pokud vaše aplikace vyžaduje statické ID relace pro celou relaci, můžete buď implementovat metodu Session_Start v souboru Global.asax aplikace a uložit data do objektu Session , abyste ID relace opravili, nebo můžete použít kód v jiné části aplikace k explicitní uložení dat do objektu Session .

Pokud vaše aplikace používá stav relace bez souborů cookie, ID relace se vygeneruje v zobrazení první stránky a zachová se po celou relaci.

Platí pro

Viz také