Partager via


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

Définition

Enregistre sur la réponse HTTP un identificateur de session récemment créé.

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)

Paramètres

context
HttpContext

Objet HttpContext actuel faisant référence aux objets serveurs utilisés pour traiter les demandes HTTP (par exemple, les propriétés Request et Response).

id
String

Identificateur de session.

redirected
Boolean

Lorsque cette méthode est retournée, elle contient une valeur booléenne, qui est true si la réponse est redirigée vers l'URL actuelle à laquelle est ajouté l'identificateur de session ; sinon, false.

cookieAdded
Boolean

Lorsque cette méthode est retournée, elle contient une valeur booléenne, qui est true si un cookie a été ajouté à la réponse HTTP ; sinon, false.

Exemples

L’exemple de code suivant montre une méthode partiellement implémentée SaveSessionID . Si votre gestionnaire d’ID de session personnalisé prend en charge les identificateurs de session sans cookie, vous devez implémenter une solution pour l’envoi et la récupération des identificateurs de session dans l’URL, comme un filtre 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

Remarques

La SaveSessionID méthode est appelée par l’objet SessionStateModule pendant l’événement HttpApplication.AcquireRequestState . La SaveSessionID méthode stocke l’identificateur de session dans l’URL (lorsque l’état de session sans cookie est utilisé) ou dans un cookie de session qui n’expire pas.

S’il est possible que la valeur retournée par votre CreateSessionID implémentation contienne des caractères qui ne sont pas valides dans une réponse ou une requête HTTP, vous devez utiliser la UrlEncode méthode pour encoder la valeur d’identificateur de session dans votre SaveSessionID implémentation de méthode et la UrlDecode méthode pour décoder la valeur d’identificateur de session dans votre GetSessionID implémentation de méthode.

S’applique à

Voir aussi