Abandon

Abandon メソッドは、Session オブジェクトに格納されているすべてのオブジェクトを破棄し、リソースを解放します。Abandon メソッドを明示的に呼び出さない場合、サーバーは、セッションがタイムアウトになった時点でそれらのオブジェクトを破棄します。

構文

Session.Abandon

 

解説

Abandon メソッドを呼び出すと、現在の Session オブジェクトが削除のためにキューに退避されますが、実際に削除されるのは現在のページのスクリプト コマンドの処理がすべて完了した時点です。つまり、Abandon を呼び出したページ内であれば Session オブジェクト内の変数にはまだアクセスすることができますが、その後の Web ページではアクセスできなくなります。

たとえば、次のスクリプトの 3 行目は値 Mary を出力します。これは、Session オブジェクトはサーバーがスクリプトの処理を完了するまで破棄されないためです。

  <%
  Session.Abandon
  Session("MyName") = "Mary"
  Reponse.Write(Session("MyName"))
%>
 

しかし、後続の Web ページで変数 MyName にアクセスしても、変数は空になります。これは、上のスクリプトのあるページの処理が完了した時点で MyName と前の Session オブジェクトが破棄されたためです。

セッションを放棄した後に後続の Web ページを開くと、サーバーは新しい Session オブジェクトを作成します。この新しい Session オブジェクトには、変数やオブジェクトを格納することができます。

次の例は、サーバーが現在のページの処理を完了したときにセッション状態が解放されるようにします。

  <% Session.Abandon %>
 
対象

Session オブジェクト

関連項目

Timeout