ISessionIDManager.GetSessionID(HttpContext) Methode

Definitie

Haalt de sessie-id op uit de context van de huidige HTTP-aanvraag.

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

Parameters

context
HttpContext

Het huidige HttpContext object dat verwijst naar serverobjecten die worden gebruikt voor het verwerken van HTTP-aanvragen (bijvoorbeeld de Request en Response eigenschappen).

Retouren

De huidige sessie-id die is verzonden met de HTTP-aanvraag.

Voorbeelden

In het volgende codevoorbeeld ziet u een gedeeltelijk geïmplementeerde GetSessionID methode. Als uw aangepaste sessie-id-manager cookieloze sessie-id's ondersteunt, moet u een oplossing implementeren voor het verzenden en ophalen van sessie-id's in de URL, zoals een ISAPI-filter.

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

Opmerkingen

De GetSessionID methode wordt aangeroepen door de SessionStateModule tijdens de HttpApplication.AcquireRequestState en HttpApplication.EndRequest gebeurtenissen. Als u een geldige sessie-id niet kunt ophalen uit de HTTP-aanvraag, keert u terug null. Als de SessionStateModule ontvangst null van de GetSessionID methode wordt uitgevoerd, wordt de CreateSessionID methode aangeroepen om een nieuwe sessie-id voor een nieuwe sessie op te halen.

Als het mogelijk is dat de waarde die door uw CreateSessionID implementatie wordt geretourneerd tekens bevat die niet geldig zijn in een HTTP-antwoord of -aanvraag, moet u de methode gebruiken om de UrlEncode waarde van de sessie-id in uw SaveSessionID methode-implementatie te coderen en de UrlDecode methode om de waarde van de sessie-id in uw GetSessionID methode-implementatie te decoderen.

Van toepassing op

Zie ook