ISessionIDManager.GetSessionID(HttpContext) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá identifikátor relace z kontextu aktuální požadavek HTTP.
public:
System::String ^ GetSessionID(System::Web::HttpContext ^ context);
public string GetSessionID (System.Web.HttpContext context);
abstract member GetSessionID : System.Web.HttpContext -> string
Public Function GetSessionID (context As HttpContext) As String
Parametry
- context
- HttpContext
Aktuální HttpContext objekt, který odkazuje na objekty serveru používané ke zpracování požadavků HTTP (například Request vlastnosti a Response ).
Návraty
Identifikátor aktuální relace odeslaný s požadavkem HTTP.
Příklady
Následující příklad kódu ukazuje částečně implementovanou GetSessionID metodu. Pokud váš vlastní správce ID relací podporuje identifikátory relací bez souborů cookie, budete muset implementovat řešení pro odesílání a načítání identifikátorů relací v adrese URL, jako je filtr ISAPI.
public string GetSessionID(HttpContext context)
{
string id = null;
if (pConfig.Cookieless == HttpCookieMode.UseUri)
{
// Retrieve the SessionID from the URI.
}
else
{
id = context.Request.Cookies[pConfig.CookieName].Value;
}
// Verify that the retrieved SessionID is valid. If not, return null.
if (!Validate(id))
id = null;
return id;
}
Public Function GetSessionID(context As HttpContext) As String _
Implements ISessionIDManager.GetSessionID
Dim id As String = Nothing
If pConfig.Cookieless = HttpCookieMode.UseUri Then
' Retrieve the SessionID from the URI.
Else
id = context.Request.Cookies(pConfig.CookieName).Value
End If
' Verify that the retrieved SessionID is valid. If not, return Nothing.
If Not Validate(id) Then _
id = Nothing
Return id
End Function
Poznámky
Metoda GetSessionID je volána SessionStateModule během událostí HttpApplication.AcquireRequestState a HttpApplication.EndRequest . Pokud z požadavku HTTP nemůžete načíst platný identifikátor relace, vraťte null
. Pokud metoda SessionStateModule přijme null
z GetSessionID metody , zavolá metodu CreateSessionID , aby získala identifikátor nové relace pro novou relaci.
Pokud je možné, že hodnota vrácená vaší CreateSessionID implementací obsahuje znaky, které nejsou platné v odpovědi HTTP nebo požadavku, měli byste použít metodu UrlEncode ke kódování hodnoty identifikátoru relace v SaveSessionID implementaci metody a metodu UrlDecode k dekódování hodnoty identifikátoru relace v GetSessionID implementaci metody.