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 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.