4.3.6 WAMのセッション・プロパティ
セッションの構成は、WAMのプロパティ値を直接指定して行います。セッション・キーのブラウザーへの格納方法やセッションの非アクティブ・タイムアウト時間設定のプロパティがあります。デフォルトでは、それぞれのWAMが他のWAMからは独立した形で独自のセッション状態を保持します。
以下の表は、WAMのセッション管理に関連したプロパティをまとめています。
プロパティ
|
値
|
説明
|
SessionKeyMethod
|
URL、 Cookie、 SecureCookieまたは、HiddenField
|
セッション・キーと呼ばれるセッション識別子をブラウザーに格納する方法です。最も安全な方式は、セキュアCookieとされています。このプロパティは、実行時には使用できません。
|
SessionStatus
|
Active、Invalid、ExpiredもしくはNone
|
実行時には、このプロパティに基づいて、Webセッションの状態を判別できます。このプロパティをActiveに設定してセッションを作成したり、Invalidに設定してセッションを削除したりすることも可能です。デザイン時には、WAM全体(つまり、全てのWEBROUTINE)に対してこのプロパティを設定することもできますし、キーワードOnEntryを使用して各WEBROUTINEに対してこのプロパティを設定することも可能です。デザイン時にActiveの値を設定すると、WEBROUTINEの実行前にセッションの検証が行われます。Noneの値を設定すると、セッションが無効または有効期限切れの場合にもWEBROUTINEが実行されます。その後、そのWEBROUTINEの中でSessionStatusをActiveに設定して新しいセッションを作成し、セッション・キーをブラウザーに返すことも可能です。このプロパティは、デザイン時にも実行時にも使用できます。
|
SessionTimeout
|
秒単位の数値。0に設定した場合は、システム全体のデフォルトが使用されます。-1に設定した場合は、タイムアウト時間が無限になります(つまり、タイムアウトがなくなります)。
|
要求が出されない時間の長さがタイムアウト値に達すると、セッションの有効期限が切れたと見なされます。セッションを必要とする(つまり、SessionStatusがActiveに設定されている)WEBROUTINEに対してその後から要求が出されても、そのWEBROUTINEは実行されず、SessionInvalidイベントが起動されます。このタイムアウトは、WAMの中のすべてのWEBROUTINEに適用されます。
クリーンアップを後で実行するようスケジュールすることができるので、このセッション状態はセッション・ストアに残っている場合もあります。
このプロパティは、実行時には使用できません。
|
SessionGroupName
|
任意の英数字。
|
それぞれのWAMは、他のWAMからは独立した形で独自のセッション状態を保持します。1つのWebアプリケーションに複数のWAMを組み込んだ場合は、関係するすべてのWAMで同じセッション状態を参照するために、このプロパティに同じ識別子を設定できます。このプロパティは、実行時には使用できません。
|
|
WAMの中のすべてのWEBROUTINEは、WAM全体で定義されているSessionStatusプロパティから初期のSessionStatus値を割り当てられます。ただし、OnEntryキーワードに以下の値を設定すれば、WEBROUTINE単位でSessionStatusを上書きできます。
値
|
説明
|
*SessionStatus_Active
|
WEBROUTINE実行時にアクティブなセッションが使用されます。
|
*SessionStatus_None
|
WEBROUTINE実行用のセッションは不要になります。
|
*SessionStatus_Of_WAM
|
OnEntryキーワードを指定しない場合のデフォルトです。WAM全体のSessionStatusプロパティの値が使用されます。
|
|