Partilhar via


ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Método

Definição

Salva um identificador de sessão recém-criado para a 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 HttpContext atual que faz referência a objetos de servidor usados para processar solicitações HTTP (por exemplo, as propriedades Request e Response).

id
String

O identificador da sessão.

redirected
Boolean

Quando retorna, este método contém um valor booliano que será 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 retorna, este método contém um valor booliano que será true se um cookie tiver sido adicionado à resposta HTTP; caso contrário, false.

Exemplos

O exemplo de código a seguir mostra um método parcialmente implementado SaveSessionID . 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 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

Comentários

O SaveSessionID método é chamado pelo SessionStateModule objeto durante o HttpApplication.AcquireRequestState evento. O SaveSessionID método armazena o identificador de sessão na URL (quando o estado de sessão sem cookie é usado) ou em um cookie de sessão que não expira.

Se for possível que o valor retornado de sua CreateSessionID implementação contenha caracteres que não são válidos em uma solicitação ou resposta HTTP, você deve 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