Compartir vía


ISessionIDManager.GetSessionID(HttpContext) Método

Definición

Obtiene el identificador de sesión a partir del contexto de la solicitud HTTP actual.

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

Parámetros

context
HttpContext

Objeto HttpContext actual que hace referencia a los objetos de servidor utilizados para procesar solicitudes HTTP (por ejemplo, las propiedades Request y Response).

Devoluciones

El identificador de la sesión actual enviado con la solicitud HTTP.

Ejemplos

En el ejemplo de código siguiente se muestra un método implementado GetSessionID parcialmente. Si el administrador de identificadores de sesión personalizado admite identificadores de sesión sin cookies, deberá implementar una solución para enviar y recuperar identificadores de sesión en la dirección URL, como un filtro 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

Comentarios

El GetSessionID método lo llama durante SessionStateModule los HttpApplication.AcquireRequestState eventos y HttpApplication.EndRequest . Si no puede recuperar un identificador de sesión válido de la solicitud HTTP, devuelva null. SessionStateModule Si recibe null del GetSessionID método , llamará al CreateSessionID método para obtener un nuevo identificador de sesión para una nueva sesión.

Si es posible que el valor devuelto por la CreateSessionID implementación contenga caracteres que no son válidos en una respuesta o solicitud HTTP, debe usar el método para codificar el UrlEncode valor de identificador de sesión en SaveSessionID la implementación del método y el UrlDecode método para descodificar el valor de identificador de sesión en GetSessionID la implementación del método.

Se aplica a

Consulte también