Partilhar via


ISessionIDManager.GetSessionID(HttpContext) Método

Definição

Obtém o identificador de sessão do contexto da solicitação HTTP atual.

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

O objeto HttpContext atual que faz referência a objetos de servidor usados para processar solicitações HTTP (por exemplo, as propriedades Request e Response).

Retornos

O identificador de sessão atual enviado com a solicitação HTTP.

Exemplos

O exemplo de código a seguir mostra um método parcialmente implementado GetSessionID . Se o gerenciador de ID de sessão personalizado der suporte a identificadores de sessão sem cookie, você precisará implementar uma solução para enviar e recuperar identificadores de sessão na URL, como um 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

Comentários

O GetSessionID método é chamado pelo SessionStateModule durante os HttpApplication.AcquireRequestState eventos e HttpApplication.EndRequest . Se você não puder recuperar um identificador de sessão válido da solicitação HTTP, retorne null. Se o SessionStateModule receber null do GetSessionID método , ele chamará o CreateSessionID método para obter um novo identificador de sessão para uma nova sessão.

Se for possível que o valor retornado pela implementação CreateSessionID contenha caracteres que não são válidos em uma solicitação ou resposta HTTP, você deverá usar o UrlEncode método para codificar o valor do identificador de sessão na SaveSessionID implementação do método e o UrlDecode método para decodificar o valor do identificador de sessão na GetSessionID implementação do método.

Aplica-se a

Confira também