ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Guarda un identificador de sesión recién 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 actual HttpContext que hace referencia a objetos de servidor usados para procesar solicitudes HTTP (por ejemplo, las Request propiedades y Response ).
- id
- String
Identificador de sesión.
- redirected
- Boolean
Cuando este método devuelve , 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 dirección URL; en caso contrario, false.
- cookieAdded
- Boolean
Cuando este método devuelve, contiene un valor booleano que es true si se ha agregado una cookie a la respuesta HTTP; de lo contrario, falsees .
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 sin expiración.
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 UrlEncode método para codificar el valor de identificador de sesión en SaveSessionID la implementación del método y el método para descodificar el UrlDecode valor de identificador de sesión en la GetSessionID implementación del método.