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 serverové objekty používané ke zpracování požadavků HTTP (například vlastnosti Request a Response požadavky HTTP).

Návraty

Aktuální identifikátor 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 relace 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 a HttpApplication.EndRequest události. Pokud nelze načíst platný identifikátor relace z požadavku HTTP, vraťte null. SessionStateModule Pokud metoda přijme nullGetSessionID, zavolá metoduCreateSessionID, která získá nový identifikátor relace pro novou relaci.

Pokud je možné, že hodnota vrácená vaší CreateSessionID implementací obsahuje znaky, které nejsou platné v odpovědi nebo požadavku HTTP, měli byste použít UrlEncode metodu ke kódování hodnoty identifikátoru relace v SaveSessionID implementaci metody a metodu UrlDecode dekódování hodnoty identifikátoru relace v implementaci metody GetSessionID .

Platí pro

Viz také