Bagikan melalui


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

Definisi

Menyimpan pengidentifikasi sesi yang baru dibuat ke respons 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)

Parameter

context
HttpContext

Objek saat ini HttpContext yang mereferensikan objek server yang digunakan untuk memproses permintaan HTTP (misalnya, Request properti dan Response ).

id
String

Pengidentifikasi sesi.

redirected
Boolean

Ketika metode ini kembali, berisi nilai Boolean yang true jika respons dialihkan ke URL saat ini dengan pengidentifikasi sesi ditambahkan ke URL; jika tidak, false.

cookieAdded
Boolean

Ketika metode ini kembali, berisi nilai Boolean yang jika true cookie telah ditambahkan ke respons HTTP; jika tidak, false.

Contoh

Contoh kode berikut menunjukkan metode yang diterapkan SaveSessionID sebagian. Jika manajer ID sesi kustom Anda mendukung pengidentifikasi sesi tanpa cookie, Anda harus menerapkan solusi untuk mengirim dan mengambil pengidentifikasi sesi di URL, seperti filter 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

Keterangan

Metode SaveSessionID ini dipanggil oleh SessionStateModule objek selama HttpApplication.AcquireRequestState peristiwa. Metode menyimpan SaveSessionID pengidentifikasi sesi baik di URL (saat status sesi tanpa cookie digunakan) atau dalam cookie sesi yang tidak kedaluwarsa.

Jika mungkin bahwa nilai yang dikembalikan dari implementasi Anda CreateSessionID berisi karakter yang tidak valid dalam respons atau permintaan HTTP, Anda harus menggunakan UrlEncode metode untuk mengodekan nilai pengidentifikasi sesi dalam implementasi metode Anda SaveSessionID dan UrlDecode metode untuk mendekode nilai pengidentifikasi sesi dalam implementasi metode Anda GetSessionID .

Berlaku untuk

Lihat juga