ISessionIDManager.GetSessionID(HttpContext) Metoda
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 identyfikator sesji z kontekstu bieżącego żądania 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
Bieżący HttpContext obiekt, który odwołuje się do obiektów serwera używanych do przetwarzania żądań HTTP (na przykład Request właściwości i Response ).
Zwraca
Bieżący identyfikator sesji wysłany za pomocą żądania HTTP.
Przykłady
Poniższy przykład kodu przedstawia częściowo zaimplementowaną GetSessionID metodę. Jeśli niestandardowy menedżer identyfikatorów sesji obsługuje identyfikatory sesji bez plików cookie, należy zaimplementować rozwiązanie do wysyłania i pobierania identyfikatorów sesji w adresie URL, takich jak 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
Uwagi
Metoda jest wywoływana GetSessionID przez SessionStateModule zdarzenia i HttpApplication.AcquireRequestStateHttpApplication.EndRequest . Jeśli nie możesz pobrać prawidłowego identyfikatora sesji z żądania HTTP, zwróć polecenie null
. Jeśli otrzymasz SessionStateModulenull
z GetSessionID metody , wywoła CreateSessionID metodę , aby uzyskać nowy identyfikator sesji dla nowej sesji.
Jeśli istnieje możliwość, że wartość zwrócona przez CreateSessionID implementację zawiera znaki, które nie są prawidłowe w odpowiedzi HTTP lub żądaniu, należy użyć UrlEncode metody , aby zakodować wartość identyfikatora sesji we SaveSessionID implementacji metody i UrlDecode metodę, aby zdekodować wartość identyfikatora sesji we GetSessionID implementacji metody.