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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SessionIDManager.CreateSessionID メソッドのページへのリンク