Udostępnij za pośrednictwem


ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Metoda

Definicja

Zapisuje nowo utworzony identyfikator sesji w odpowiedzi 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)

Parametry

context
HttpContext

Bieżący HttpContext obiekt, który odwołuje się do obiektów serwera używanych do przetwarzania żądań HTTP (na przykład Request właściwości i Response ).

id
String

Identyfikator sesji.

redirected
Boolean

Gdy ta metoda zwraca wartość logiczną, czyli true jeśli odpowiedź jest przekierowywana do bieżącego adresu URL z identyfikatorem sesji dodanym do adresu URL; w przeciwnym razie false.

cookieAdded
Boolean

Gdy ta metoda zwraca wartość logiczną, która ma wartość logiczną, która oznacza true , że plik cookie został dodany do odpowiedzi HTTP; w przeciwnym razie false.

Przykłady

Poniższy przykład kodu przedstawia częściowo zaimplementowaną SaveSessionID metodę. Jeśli niestandardowy menedżer identyfikatorów sesji obsługuje identyfikatory sesji bez plików cookie, należy zaimplementować rozwiązanie do wysyłania i pobierania identyfikatorów sesji w adresie URL, takich jak filtr 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

Uwagi

Metoda jest wywoływana SaveSessionIDSessionStateModule przez obiekt podczas HttpApplication.AcquireRequestState zdarzenia. Metoda SaveSessionID przechowuje identyfikator sesji w adresie URL (gdy jest używany stan sesji bez plików cookie) lub w pliku cookie sesji, który nie wygasa.

Jeśli istnieje możliwość, że wartość zwrócona z CreateSessionID implementacji zawiera znaki, które nie są prawidłowe w odpowiedzi HTTP lub żądaniu, należy użyć UrlEncode metody , aby zakodować wartość identyfikatora sesji w SaveSessionID implementacji metody i UrlDecode metodę, aby zdekodować wartość identyfikatora sesji w GetSessionID implementacji metody.

Dotyczy

Zobacz też