SessionIDManager.CreateSessionID メソッド
アセンブリ: System.Web (system.web.dll 内)
構文Dim instance As SessionIDManager Dim context As HttpContext Dim returnValue As String returnValue = instance.CreateSessionID(context)
戻り値
一意のセッション識別子。
解説このメソッドは、アプリケーション コードから呼び出すためのものではありません。
CreateSessionID メソッドは、ランダムに生成された数を小文字の a ~ z と数字の 0 ~ 5 から成る 24 文字の文字列にエンコードした一意のセッション識別子を返します。
継承時の注意 ASP.NET セッション状態で使用されるカスタムのセッション識別子を提供できます。それには、SessionIDManager クラスを継承するクラスを作成し、CreateSessionID メソッドおよび Validate メソッドを各自のカスタム実装でオーバーライドします。カスタムのセッション ID が Validate メソッドの既定の実装によって適用される文字制約を満たさない場合、Validate メソッドをオーバーライドして、カスタムのセッション識別子の検証を提供する必要があります。この場合、SessionIDManager クラスは、カスタムのセッション識別子が Encode メソッドを使用して HTTP 応答にエンコードされた URL と Decode メソッドを使用して HTTP 要求からデコードされた URL であることを確認します。
使用例SessionIDManager クラスを継承し、CreateSessionID メソッドおよび Validate メソッドを、Guid を提供するメソッドとそれを SessionID として検証するメソッドでオーバーライドするクラスのコード例を次に示します。
Imports System Imports System.Configuration Imports System.Web.Configuration Imports System.Web Imports System.Web.SessionState Namespace Samples.AspNet.Session Public Class GuidSessionIDManager Inherits SessionIDManager Public Overrides Function CreateSessionID(context As HttpContext) As String Return Guid.NewGuid().ToString() End Function Public Overrides Function Validate(id As String) As Boolean Try Dim testGuid As Guid = New Guid(id) If id = testGuid.ToString() Then _ Return True Catch End Try Return False End Function End Class End Namespace
using System; using System.Configuration; using System.Web.Configuration; using System.Web; using System.Web.SessionState; namespace Samples.AspNet.Session { public class GuidSessionIDManager : SessionIDManager { public override string CreateSessionID(HttpContext context) { return Guid.NewGuid().ToString(); } public override bool Validate(string id) { try { Guid testGuid = new Guid(id); if (id == testGuid.ToString()) return true; } catch { } return false; } } }
この例で示されているカスタム クラスを使用するには、次の例に示すように sessionState 要素 (ASP.NET 設定スキーマ) 要素の sessionIDManagerType 属性を構成します。
<sessionState Mode="InProc" stateConnectionString="tcp=127.0.0.1:42424" stateNetworkTimeout="10" sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" sqlCommandTimeout="30" customProvider="" cookieless="false" regenerateExpiredSessionId="false" timeout="20" sessionIDManagerType="Your.ID.Manager.Type, CustomAssemblyNameInBinFolder" />
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Weblioに収録されているすべての辞書からSessionIDManager.CreateSessionID メソッドを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からSessionIDManager.CreateSessionID メソッド
を検索
- SessionIDManager.CreateSessionID メソッドのページへのリンク