ISessionIDManager.GetSessionID(HttpContext) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o identificador de sessão a partir do contexto do pedido 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 atual HttpContext que faz referência a objetos do servidor usados para processar pedidos HTTP (por exemplo, as Request propriedades e).Response
Devoluções
O identificador de sessão atual enviado com o pedido HTTP.
Exemplos
O exemplo de código seguinte mostra um método parcialmente implementado GetSessionID . Se o seu gestor personalizado de IDs de sessão suportar identificadores de sessão sem cookies, terá de 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
Observações
O GetSessionID método é chamado por durante SessionStateModule os HttpApplication.AcquireRequestState eventos e HttpApplication.EndRequest . Se não conseguir obter um identificador de sessão válido a partir do pedido HTTP, devolve null. Se receber SessionStateModulenull do GetSessionID método, 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 devolvido pela sua CreateSessionID implementação contenha caracteres que não são válidos numa resposta ou pedido HTTP, deve usar o UrlEncode método para codificar o valor do identificador de sessão na SaveSessionID sua implementação do método e o UrlDecode método para decodificar o valor do identificador de sessão na sua GetSessionID implementação do método.