Langue

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

Définition

Enregistre un identificateur de session nouvellement créé dans la réponse 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)

Paramètres

context
HttpContext

Objet actuel HttpContext qui fait référence aux objets serveur utilisés pour traiter les requêtes HTTP (par exemple, les propriétés et Request les Response propriétés).

id
String

Identificateur de session.

redirected
Boolean

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

cookieAdded
Boolean

Lorsque cette méthode retourne, 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 d’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 non expiré.

S’il est possible que la valeur retournée à partir de votre CreateSessionID implémentation contient des caractères non 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