Język

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 odwołujący się do obiektów serwera używanych do przetwarzania żądań HTTP (na przykład właściwości Request i Response ).

id
String

Identyfikator sesji.

redirected
Boolean

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

cookieAdded
Boolean

Gdy ta metoda zwróci wartość logiczną, która ma true wartość logiczną, jeśli 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, takiego 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 SaveSessionID jest wywoływana SessionStateModule 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 jest możliwe, ż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 we SaveSessionID implementacji metody i UrlDecode metodę, aby zdekodować wartość identyfikatora sesji w GetSessionID implementacji metody.

Dotyczy

Zobacz też