Session_OnEnd
(PWS4 IIS4 IIS5)
Session_OnEnd — セッションが破棄されたときに発生
Sub Session_OnEnd
. . .
End Sub
説明
Session_OnEnd イベントは、セッションが破棄されたとき、またはタイムアウトになったときに発生します。サーバー組み込みオブジェクトのうち、Application オブジェクト、Server オブジェクト、および Session オブジェクトだけが利用できます。
(PWS4 IIS4 IIS5)
Session_OnEnd — セッションが破棄されたときに発生
Sub Session_OnEnd
. . .
End Sub
Session_OnEnd イベントは、セッションが破棄されたとき、またはタイムアウトになったときに発生します。サーバー組み込みオブジェクトのうち、Application オブジェクト、Server オブジェクト、および Session オブジェクトだけが利用できます。
(PWS4 IIS4 IIS5)
RemoveAll — Contents コレクションからすべての項目を削除します。
Session.Contents.RemoveAll( )
RemoveAll メソッドは、Session オブジェクトの Contents コレクションに追加された項目すべてを削除します。
次の例は、Session.contents コレクションに追加された項目すべてを削除します。
例1.RemoveAllの例
1 | <%Session.Contents.RemoveAll()%> |
(PWS4 IIS4 IIS5)
Remove — Contents コレクションから項目を削除します。
Session.Contents.Remove( Item|Index )
パラメータ | |
---|---|
Item | コレクションから削除するメンバの名前です。 |
Index | コレクションから削除するメンバのインデックス エントリです。 |
Contents.Remove メソッドは、入力パラメータとして文字列または整数のいずれかの値をとります。入力パラメータが文字列の場合、メソッドは Contents コレクション内で名前が文字列と一致する項目を探し、削除します。入力パラメータが整数の場合、メソッドはコレクションの最初から数えて、対応する項目を削除します。
次の例は、myName という変数を Session.Contents コレクションに追加して、削除します。
例1.Removeの例
1 2 3 4 | <% Session("myName") = " " Session.Contents.Remove("myName") %> |
(PWS4 IIS4 IIS5)
Abandon — このメソッドは、Session オブジェクトを破棄してそのリソースを解放します。
Session.Abandon[= nMinutes]
パラメータ | |
---|---|
nMinutes | セッションがアイドル状態のまま保持される分数を指定します。この時間が経過するとサーバーは自動的にセッションを終了します。既定値は 10 分です。 |
Abandon メソッドは、Session オブジェクトに格納されているすべてのオブジェクトを破棄し、リソースを解放します。Abandon メソッドを明示的に呼び出さない場合、サーバーは、セッションがタイムアウトになった時点でそれらのオブジェクトを破棄します。
Abandon メソッドを呼び出すと、現在の Session オブジェクトが削除のためにキューに退避されますが、実際に削除されるのは現在のページのスクリプトコマンドの処理がすべて完了した時点です。つまり、 Abandon を呼び出したページ内であれば Session オブジェクト内の変数にはまだアクセスすることができますが、その後の Web ページではアクセスできなくなります。
たとえば、次のスクリプトの 3 行目は値 Mary を出力します。これは、Session オブジェクトはサーバーがスクリプトの処理を完了するまで破棄されないためです。
例1.Abandonの例
1 2 3 4 5 | <% Session.Abandon Session("MyName") = "Mary" Reponse.Write(Session("MyName")) %> |
しかし、後続の Web ページで変数 MyName にアクセスしても、変数は空になります。これは、上のスクリプトのあるページの処理が完了した時点で MyName と前の Session オブジェクトが破棄されたためです。
セッションを放棄した後に後続の Web ページを開くと、サーバーは新しい Session オブジェクトを作成します。この新しい Session オブジェクトには、変数やオブジェクトを格納することができます。
次の例は、サーバーが現在のページの処理を完了したときにセッション状態が解放されるようにします。
1 | <% Session.Abandon %> |
(PWS4 IIS4 IIS5)
Timeout — このアプリケーションのセッション状態のタイムアウト時間 (分単位) です。
Session.Timeout[= nMinutes]
パラメータ | |
---|---|
nMinutes | セッションがアイドル状態のまま保持される分数を指定します。この時間が経過するとサーバーは自動的にセッションを終了します。既定値は 10 分です。 |
Timeout プロパティは、このアプリケーションの Session オブジェクトのタイムアウト時間を分単位で指定します。ユーザーがこのタイムアウト時間の間、ページの更新や要求をまったく行わなければ、そのセッションは終了します。
Abandonメソッドも参照ください。
(PWS4 IIS4 IIS5)
SessionID — このユーザーのセッション識別子を返します。
Session.SessionID
SessionID プロパティは、セッション識別子を返します。セッション識別子は、セッションの作成時にサーバーによって生成される一意の識別子です。セッション ID は長整数 (LONG) データ型として返されます。
データベース アプリケーションの主キーの値を生成するために SessionID プロパティを使用することは避けてください。
これは、Web サーバーが再起動した場合に、SessionID の値の一部がサーバーの停止前の値と同じになることがあるためです。
このため、Microsoft SQL Server の IDENTITY や Microsoft Access の COUNTER などの自動インクリメント列データ型を代用してください。
(PWS4 IIS4 IIS5)
LCID — ロケール識別子です。
Session.LCID( = LCID )
パラメータ | |
---|---|
LCID | 有効なロケール識別子です。 |
LCID はロケール識別子を指定します。ロケール識別子は、各国を数字で表す標準の省略形で、システム定義のロケールの 1 つを一意に識別します。LCID が @LCID ディレクティブを使用して設定されている場合、Session.LCID はディレクティブで設定された値を上書きします。
例1.LCIDの例
次の例は、ロケールを イギリス英語に設定し、VBScript FormatCurrency メソッドを使用して、値 125 を通貨として £ 記号を付けて表示します。
1 2 3 4 5 6 | <% Session.LCID = 2057 Dim curNumb curNumb = FormatCurrency(125) Response.Write (curNumb) %> |
(PWS4 IIS4 IIS5)
CodePage — 記号のマッピングに使われるコード ページです。
Session.CodePage (= Codepage )
パラメータ | |
---|---|
Codepage | ASP スクリプト エンジンを実行しているシステムで有効なコード ページを表す符合なし整数です。 |
CodePage プロパティは、動的コンテンツを表示するときに使用するコード ページを決定します。
コードページは、数字、区切り記号、およびその他の記号を含む文字セットです。言語およびロケールが異なると、異なるコードページが使用されることがあります。たとえば、アメリカ英語とほとんどのヨーロッパ言語では、ANSI コード ページ 1252 が使用されます。日本語漢字では OEM コードページ 932 が使用されます。
コード ページは、文字とシングルバイトの値またはマルチバイトの値とを対応付けた表によって表すことができます。ほとんどのコード ページでは、0x00 ~ 0x7F の範囲の文字に対して ASCII 文字セットを共有しています。
(PWS4 IIS4 IIS5)
StaticObjects — Applicationオブジェクトを保持
Application.StaticObjects ( Key )
パラメータ | |
---|---|
Key | 変数名/インデックス(取得するプロパティです。) |
StaticObjects コレクションには、セッション オブジェクトのスコープ内で
例1.StaticObjectsの例
1 2 3 4 5 6 7 8 9 10 11 12 | <% Dim objProp For Each objProp in Session.StaticObjects If IsObject(Session.StaticObjects(objProp)) Then Response.write(objProp & " : Session object cannot be displayed."&_ "<br />") Else Response.write(objprop & " : " & Session.StaticObjects(objprop) &_ "<br />") End if Next %> |
ループ制御構造を使用すると、StaticObjects コレクションのすべての要素を対象として繰り返し処理を行うことができます。
(PWS4 IIS4 IIS5)
Contents — スクリプト コマンドによってセッションに追加された項目が含まれます。
Session.Contents( Key )
パラメータ | |
---|---|
Key | 取得するプロパティの名前です。 |
Session.Contents コレクションには、あるセッションで
ループ制御構造を使用すると、Contents コレクションのすべての要素を対象として繰り返し処理を行うことができます。このスクリプト例を次に示します。
例1.Contentsの例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <%@ LANGUAGE="VBSCRIPT" %> <% Dim sessitem Dim anArray(2) response.write "SessionID: " & Session.SessionID & "<p>" anArray(0)="one" anArray(1)="second" anArray(2)="third" Session("anArray")=anArray Session("scalar")="1234567890ABCDEFG" set objConn=server.createobject("adodb.connection") set Session("object")=objConn response.write "List of " & Session.Contents.Count & " items in Session " & _ "contents collection:<hr />" For Each sessitem in Session.Contents If IsObject(Session.Contents(sessitem)) Then Response.write(sessitem & " : Session object cannot be displayed." & "<br />") Else If IsArray(Session.Contents(sessitem)) Then Response.write "Array named " & Session.Contents(sessitem) & "<ol>" For each objArray in Session.Contents(sessitem) Response.write "<li>" & _ Session.Contents(sessitem)(objArray)& "<br />" Next Response.write "</ol>" Else Response.write(sessitem & " : " & Session.Contents(sessitem) & "<br />") End If End If Next %> |
Application オブジェクト も参照ください。