Sdílet prostřednictvím


ISessionIDManager.GetSessionID(HttpContext) Metoda

Definice

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.

Platí pro

Viz také