Latest web development tutorials

ASPセッションオブジェクト

セッション・オブジェクトは、ユーザセッション(セッション)についての情報を格納し、またはユーザセッション(セッション)の設定を変更するために使用されます。


Sessionオブジェクト

あなたのコンピュータ上でアプリケーションを操作すると、あなたはそれを開いて、いくつかの変更を行うにして閉じます。 これは、会話(セッション)のようなものです。 コンピュータはあなたが誰であるか知っています。 あなたが開閉用途ときことは明らかです。 しかし、インターネット上で、疑問が生じる:HTTPアドレス、Webサーバはあなたが誰であるかを知らないので、保持し、何をやったことができませんでした。

この問題を解決するために、各ユーザに一意のクッキーを作成することによって、ASP。 クッキーは、識別可能なユーザ情報を含むユーザのコンピュータに転送されます。 このインタフェースは、Sessionオブジェクトと呼ばれています。

セッション・オブジェクトは、ユーザセッション(セッション)についての情報を格納し、またはユーザセッション(セッション)の設定を変更するために使用されます。

変数ストアは、単一のユーザーの情報は、Sessionオブジェクトに格納され、すべてのページでのアプリケーションのために利用可能です。 公開情報のセッション変数に格納されているが、通常名、idとのパラメータです。 サーバは、各新規ユーザのための新しいセッションを作成し、セッションの有効期限が切れたときに、Sessionオブジェクトの外に撤退します。


セッションのときに起動しますか?

セッション開始時刻:

  • 新しいユーザーは、ASPファイルを要求し、Global.asaファイルの参照とSession_OnStartサブルーチン
  • 変数のセッションに格納された値
  • ユーザーがASPファイルを要求し、Global.asaを、オブジェクトをインスタンス化するために、セッションのスコープによって、<object>タグを使用します

セッションが終了しますか?

ユーザーがアプリケーションで指定された時間内にページを要求するか、または更新されない場合、セッションは終了します。 デフォルトは20分です。

あなたがデフォルト値よりも短くても長くて、タイムアウト間隔を設定したい場合は、タイムアウトプロパティを使用することができます。

次の例では、5分のタイムアウト間隔を設定します。

<%
Session.Timeout=5
%>

すぐにセッションを終了するには、Abandonメソッドを使用してください:

<%
Session.Abandon
%>

注:セッションを使用する場合の主な問題は、それらが終わる時ということです。我々は、ユーザーの最新の要求が最後の要求であるかわかりません。 したがって、我々は長い間、「生き残る」メイクセッションを知りません。 無料のセッションがあまりにも長く待つことは、サーバーのリソースが不足します。 サーバはすべての情報を削除したため、セッションが途中で削除される場合には、ユーザーは何度も繰り返しを開始しなければならない、これは。 右のタイムアウト時間を見つけることは困難な場合があります!

先端ヒント:セッション変数では少量のデータだけを保存します!


セッション変数は格納および取得します

Sessionオブジェクトは、最大の利点は、読むために後続のページのために格納するための変数であり、その応用範囲は非常に広いです。

ユーザー名という名前の変数に割り当てられた「ドナルドダック」セッションおよび「50」の以下の実施例は、セッションの年齢という名前の変数に割り当てられます。

<%
Session("username")="Donald Duck"
Session("age")=50
%>

値がセッション変数に格納されている場合、任意のページを使用するには、ASPアプリケーションを指定できます。

Welcome <%Response.Write(Session("username"))%>

コードリターンのこの行以上の結果:「ようこそドナルドダック」。

また、Sessionオブジェクトにユーザパラメータを格納し、ページがユーザーに返されるかを決定するために、これらのパラメータにアクセスすることができます。

次の例では、ユーザーが低解像度のディスプレイを使用している場合、ページのプレーンテキスト版が返されることを提供します:

<%If Session("screenres")="low" Then%>
This is the text version of the page
<%Else%>
This is the multimedia version of the page
<%End If%>


セッション変数を削除します

コンテンツコレクションは、すべてのセッション変数が含まれています。

セッション変数を削除方法によって除去することができます。

セッション変数の値の「年齢」は18未満である場合は、以下の例では、その後、セッション変数「販売」を削除します。

<%
If Session.Contents("age")<18 then
Session.Contents.Remove("sale")
End If
%>

セッション変数のすべてを削除するには、REMOVEALLメソッドを使用します。

<%
Session.Contents.RemoveAll()
%>


トラバーサル目次コレクション

コンテンツコレクションは、すべてのセッション変数が含まれています。 あなたは、変数を格納する参照するには、コンテンツのコレクションを横断することができます。

<%
Session("username")="Donald Duck"
Session("age")=50

dim i
For Each i in Session.Contents
Response.Write(i & "<br>")
Next
%>

結果:

username
age

あなたはコンテンツコレクション内のアイテムの数がわからない場合は、Countプロパティを使用することができます。

<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
Response.Write(Session.Contents(i) & "<br>")
Next
%>

結果:

Session variables: 2
Donald Duck
50


トラバーサルStaticObjectsコレクション

あなたは、Sessionオブジェクトに格納されているすべてのオブジェクトの値を表示するには、StaticObjectsコレクションを横断することができます。

<%
dim i
For Each i in Session.StaticObjects
Response.Write(i & "<br>")
Next
%>