ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
新しく作成されたセッション識別子を 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)
パラメーター
- context
- HttpContext
HTTP 要求の処理に使用するサーバー オブジェクトを参照する現在の HttpContext オブジェクト (たとえば、 Request プロパティや Response プロパティ)。
- id
- String
セッション識別子。
- redirected
- Boolean
このメソッドから制御が戻るときに、応答が現在の URL にリダイレクトされ、その URL にセッション識別子が追加された場合に true されるブール値が格納されます。それ以外の場合は、 false。
- cookieAdded
- Boolean
このメソッドから制御が戻るときに、COOKIE が HTTP 応答に追加された場合に true されるブール値が格納されます。それ以外の場合は、 false。
例
次のコード例は、部分的に実装された SaveSessionID メソッドを示しています。 カスタム セッション ID マネージャーが Cookie レス セッション識別子をサポートしている場合は、ISAPI フィルターなどの URL でセッション識別子を送信および取得するためのソリューションを実装する必要があります。
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
注釈
SaveSessionID メソッドは、SessionStateModule イベント中にHttpApplication.AcquireRequestState オブジェクトによって呼び出されます。 SaveSessionID メソッドは、URL (Cookie レス セッション状態が使用されている場合) または期限切れでないセッション Cookie のいずれかにセッション識別子を格納します。
CreateSessionID実装から返される値に、HTTP 応答または要求で無効な文字が含まれている可能性がある場合は、UrlEncode メソッドを使用して、SaveSessionID メソッドの実装でセッション識別子の値をエンコードし、UrlDecode メソッドを使用して、GetSessionID メソッドの実装でセッション識別子の値をデコードする必要があります。