ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) 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.
Guarda um identificador de sessão recém-criado na resposta HTTP.
public:
void SaveSessionID(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % redirected, [Runtime::InteropServices::Out] bool % cookieAdded);
public void SaveSessionID(System.Web.HttpContext context, string id, out bool redirected, out bool cookieAdded);
abstract member SaveSessionID : System.Web.HttpContext * string * bool * bool -> unit
Public Sub SaveSessionID (context As HttpContext, id As String, ByRef redirected As Boolean, ByRef cookieAdded As Boolean)
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
- id
- String
O identificador de sessão.
- redirected
- Boolean
Quando este método retorna, contém um valor booleano que é true se a resposta for redirecionada para a URL atual com o identificador de sessão adicionado à URL; caso contrário, false.
- cookieAdded
- Boolean
Quando este método retorna, contém um valor booleano que é true se um cookie foi adicionado à resposta HTTP; caso contrário, false.
Exemplos
O exemplo de código seguinte mostra um método parcialmente implementado SaveSessionID . 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 void SaveSessionID(HttpContext context, string id, out bool redirected, out bool cookieAdded)
{
redirected = false;
cookieAdded = false;
if (pConfig.Cookieless == HttpCookieMode.UseUri)
{
// Add the SessionID to the URI. Set the redirected variable as appropriate.
redirected = true;
return;
}
else
{
context.Response.Cookies.Add(new HttpCookie(pConfig.CookieName, id));
cookieAdded = true;
}
}
Public Sub SaveSessionID(context As HttpContext, _
id As String, _
ByRef redirected As Boolean, _
ByRef cookieAdded As Boolean) _
Implements ISessionIDManager.SaveSessionID
redirected = False
cookieAdded = False
If pConfig.Cookieless = HttpCookieMode.UseUri Then
' Add the SessionID to the URI. Set the redirected variable as appropriate.
redirected = True
Return
Else
context.Response.Cookies.Add(New HttpCookie(pConfig.CookieName, id))
cookieAdded = True
End If
End Sub
Observações
O SaveSessionID método é chamado pelo SessionStateModule objeto durante o HttpApplication.AcquireRequestState evento. O SaveSessionID método armazena o identificador da sessão quer na URL (quando é usado o estado de sessão sem cookies) quer num cookie de sessão que não expira.
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 sua SaveSessionID implementação do método e o UrlDecode método para decodificar o valor do identificador de sessão na GetSessionID sua implementação do método.