ASPアプリケーション



特定のタスクを達成するために連携して動作する一連の ASP ファイルは、アプリケーションと呼ばれます。


アプリケーション オブジェクト

Web 上のアプリケーションは、ASP ファイルのセットにすることができます。これらの ASP ファイルは連携して特定のタスクを実行します。 ASP の Application オブジェクトは、これらのファイルを 1 つにバンドルするために使用されます。

Application オブジェクトは、Session オブジェクトと同様に、任意のページから変数を保存したりアクセスしたりするために使用されます。違いは、すべてのユーザーが Application オブジェクトを共有し、Session オブジェクトとユーザーの関係が 1 対 1 であることです。

Application オブジェクトは、アプリケーション内の多くのページで使用される情報 (データベース接続情報など) を保持します。この情報にはどのページからでもアクセスできます。この情報を 1 か所で変更することもでき、変更はすべてのページに自動的に反映されます。


アプリケーション変数の保存と取得

アプリケーション変数は、アプリケーション内のどのページからでもアクセスおよび変更できます。

次のように、「Global.asa」でアプリケーション変数を作成できます:

<script language="vbscript" runat="server">

Sub Application_OnStart
application("vartime")=" "
application("users")=1
End Sub

</script>

上の例では、「vartime」と「users」という 2 つのアプリケーション変数を作成しました。

次のように Application 変数の値にアクセスできます:

<%
Response.Write(Application("users"))
%>
アクティブな接続があります。


反復処理コンテンツ コレクション

コンテンツ コレクションには、すべてのアプリケーション変数が含まれます。

<%

dim i
For Each i in Application.Contents
を反復処理することで、Contents コレクションに格納されている変数を表示できます。 ​ Response.Write(i & "<br>")
Next
%>


Contents コレクション内の項目の数がわからない場合は、Count プロパティを使用できます:

<%

dim i
dim j
j=Application.Contents.Count
i=1からj
の場合 ​ Response.Write(Application.Contents(i) & "<br>")
Next
%>


StaticObjects コレクションの走査

StaticObjects を走査することで、Application オブジェクトに格納されているすべてのオブジェクトを表示できますコレクション オブジェクトの値:

<%

dim i
For Each i in Application.StaticObjects
​ Response.Write(i & "
")
Next
%>



ロックとロック解除

「Lock」メソッドを使用してアプリをロックできます。アプリケーションがロックされている場合、ユーザーはアプリケーション変数を変更できません (アプリケーション変数にアクセスしているユーザーを除く)。 「Unlock」メソッドを使用してアプリケーションのロックを解除することもできます。このメソッドは、アプリケーション変数のロックを削除します:

<%
Application.Lock
'アプリケーション オブジェクトの操作を実行します
Application.Unlock
%>