Compartir vía


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

Definición

Guarda un identificador de sesión recientemente creado en la respuesta 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

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

id
String

El identificador de la sesión.

redirected
Boolean

Cuando este método finaliza, contiene un valor booleano que es true si la respuesta se redirige a la dirección URL actual con el identificador de sesión agregado a la URL; de lo contrario, es false.

cookieAdded
Boolean

Cuando este método finaliza, contiene un valor booleano que es true si se ha agregado una cookie a la respuesta HTTP; de lo contrario, es false.

Ejemplos

En el ejemplo de código siguiente se muestra un método implementado SaveSessionID 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 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

Comentarios

El SaveSessionID objeto llama al SessionStateModule método durante el HttpApplication.AcquireRequestState evento . El SaveSessionID método almacena el identificador de sesión en la dirección URL (cuando se usa el estado de sesión sin cookies) o en una cookie de sesión que no va a expirar.

Si es posible que el valor devuelto de 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