Udostępnij za pośrednictwem


ISessionIDManager.GetSessionID(HttpContext) Metoda

Definicja

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.

Dotyczy

Zobacz też