Bagikan melalui


ISessionIDManager.GetSessionID(HttpContext) Metode

Definisi

Mendapatkan pengidentifikasi sesi dari konteks permintaan HTTP saat ini.

public:
 System::String ^ GetSessionID(System::Web::HttpContext ^ context);
public string GetSessionID (System.Web.HttpContext context);
abstract member GetSessionID : System.Web.HttpContext -> string
Public Function GetSessionID (context As HttpContext) As String

Parameter

context
HttpContext

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

Mengembalikan

Pengidentifikasi sesi saat ini dikirim dengan permintaan HTTP.

Contoh

Contoh kode berikut menunjukkan metode yang diterapkan GetSessionID sebagian. Jika manajer SESSION-ID kustom Anda mendukung pengidentifikasi sesi tanpa cookie, Anda harus menerapkan solusi untuk mengirim dan mengambil pengidentifikasi sesi di URL, seperti filter ISAPI.

public string GetSessionID(HttpContext context)
{
  string id = null;

  if (pConfig.Cookieless == HttpCookieMode.UseUri)
  {
    // Retrieve the SessionID from the URI.
  }
  else
  {
    id = context.Request.Cookies[pConfig.CookieName].Value;
  }      

  // Verify that the retrieved SessionID is valid. If not, return null.

  if (!Validate(id))
    id = null;

  return id;
}
Public Function GetSessionID(context As HttpContext) As String _
  Implements ISessionIDManager.GetSessionID

  Dim id As String = Nothing

  If pConfig.Cookieless = HttpCookieMode.UseUri Then
    ' Retrieve the SessionID from the URI.
  Else
    id = context.Request.Cookies(pConfig.CookieName).Value
  End If    

  ' Verify that the retrieved SessionID is valid. If not, return Nothing.

  If Not Validate(id) Then _
    id = Nothing

  Return id
End Function

Keterangan

Metode GetSessionID ini dipanggil oleh SessionStateModule selama HttpApplication.AcquireRequestState peristiwa dan HttpApplication.EndRequest . Jika Anda tidak dapat mengambil pengidentifikasi sesi yang valid dari permintaan HTTP, kembalikan null. SessionStateModule Jika menerima null dari GetSessionID metode , metode akan memanggil CreateSessionID metode untuk mendapatkan pengidentifikasi sesi baru untuk sesi baru.

Jika mungkin bahwa nilai yang dikembalikan oleh 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