説明
セッションの終了時に実行されます。
シンタックス
<cfargument name="SessionScope" required=True/> |
関連項目
onRequestStart、メソッドの概要、『ColdFusion アプリケーションの開発』の Application.cfc でのアプリケーションおよびイベントハンドラーの定義の Application.cfc によるリクエストの管理
パラメーター
ColdFusion は、次のパラメーターをこのメソッドに渡します。
パラメーター |
説明 |
---|---|
SessionScope |
終了するセッションの Session スコープです。 |
ApplicationScope |
終了するセッションの Application スコープです。 |
戻り値
このメソッドは値を返しません。cfreturn タグを使用しないでください。
使用方法
このメソッドは、セッション終了時に任意のクリーンアップ処理を実行するために使用します。アクティブでない状態のままセッションタイムアウト期間が経過すると、セッションは終了します。例えば、ショッピングカートの内容やユーザーが注文を完了したかどうかなどのセッション関連データをデータベースに保存したり、その他の必要な処理をユーザーのステータスに応じて実行したりすることができます。セッションの終了またはその他のセッション関連情報を、診断目的でファイルに記録することが必要な場合もあります。このメソッドを明示的に呼び出した場合、ColdFusion はセッションを終了しません。メソッド コードを 実行しますが、セッションをロックしません。このメソッドはリクエストに関連付けられて いないので、 ユーザーページにデータを表示することはできません。共有スコープ変数には次のようにアクセスすることができます。ぺーじ
- Session スコープにアクセスするには、SessionScope パラメーターを使用します。Session スコープを直接参照することはできません。例えば、Session.myVariable ではなく、Arguments.SessionScope.myVariable を使用します。
- Application スコープにアクセスするには、ApplicationScope パラメーターを使用する必要があります。Application スコープを直接参照することはできません。たとえば、Application.myVariable ではなく、Arguments.ApplicationScope.myVariable を使用します。例に示すように、Application スコープ内の変数を参照する場合、名前付きのロックを使用します。
- Server スコープには直接アクセスできます。たとえば、Server.myVariable を使用します。
- Request スコープにはアクセスできません。
アプリケーションが終了してもセッションは終了しないので、onSessionEnd メソッドは呼び出されません。ただし、アクティブなアプリケーションがない場合、onSessionEnd は実行されません。
例
次のメソッドでは、Application スコープのセッションカウント変数を減算し、セッションの長さをログに記録します。
<cfargument name = "SessionScope" required=true/> |