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

Definición

Guarda un identificador de sesión recientemente creado en la respuesta HTTP.Saves a newly created session identifier to the HTTP response.

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).The current HttpContext object that references server objects used to process HTTP requests (for example, the Request and Response properties).

id
String

El identificador de la sesión.The session identifier.

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.When this method returns, contains a Boolean value that is true if the response is redirected to the current URL with the session identifier added to the URL; otherwise, 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.When this method returns, contains a Boolean value that is true if a cookie has been added to the HTTP response; otherwise, false.

Ejemplos

En el ejemplo de código siguiente se muestra un método implementado parcialmente SaveSessionID .The following code example shows a partially implemented SaveSessionID method. Si el administrador de ID. de sesión personalizado admite identificadores de sesión sin cookies, deberá implementar una solución para enviar y recuperar los identificadores de sesión en la dirección URL, como un filtro ISAPI.If your custom session-ID manager supports cookieless session identifiers, you will need to implement a solution for sending and retrieving session identifiers in the URL, such as an ISAPI filter.

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 método SessionStateModule durante el HttpApplication.AcquireRequestState evento.The SaveSessionID method is called by the SessionStateModule object during the HttpApplication.AcquireRequestState event. 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 expira.The SaveSessionID method stores the session identifier either in the URL (when cookieless session state is used) or in a non-expiring session cookie.

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 utilizar el UrlEncode método para codificar el valor del identificador de sesión en la SaveSessionID implementación del método y el UrlDecode método para descodificar el valor del identificador de sesión en la implementación del GetSessionID método.If it is possible that the value returned from your CreateSessionID implementation contains characters that are not valid in an HTTP response or request, you should use the UrlEncode method to encode the session-identifier value in your SaveSessionID method implementation and the UrlDecode method to decode the session-identifier value in your GetSessionID method implementation.

Se aplica a

Consulte también