ISessionIDManager.GetSessionID(HttpContext) Metoda

Definice

Získá identifikátor relace z kontextu aktuálního požadavku 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 HttpApplication.AcquireRequestState událostí a HttpApplication.EndRequest . Pokud z požadavku HTTP nemůžete načíst platný identifikátor relace, vraťte null. Pokud metoda SessionStateModule přijme metoduGetSessionID, zavolá metoduCreateSessionID, aby získala nový identifikátor relace null 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 pro dekódování hodnoty identifikátoru relace v implementaci GetSessionID metody.

Platí pro

Viz také