4.3.6 WAMのセッション・プロパティ

セッションの構成は、WAMのプロパティ値を直接指定して行います。セッション・キーのブラウザーへの格納方法やセッションの非アクティブ・タイムアウト時間設定のプロパティがあります。デフォルトでは、それぞれのWAMが他のWAMからは独立した形で独自のセッション状態を保持します。

以下の表は、WAMのセッション管理に関連したプロパティをまとめています。

プロパティ

説明

SessionKeyMethod

URLCookie、 SecureCookieまたは、HiddenField

セッション・キーと呼ばれるセッション識別子をブラウザーに格納する方法です。最も安全な方式は、セキュアCookieとされています。このプロパティは、実行時には使用できません。

SessionStatus

ActiveInvalidExpiredもしくは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プロパティの値が使用されます。