ASP Application オブジェクト

特定のタスクを完了するために協力して動作する一連のASPファイルは、アプリケーション(application)と呼ばれます。ASP内のApplicationオブジェクトは、これらのファイルを結びつけるために使用されます。

Applicationオブジェクト

ウェブ上のアプリケーションは、協力して特定のタスクを完了する一連のASPファイルです。これらのASPファイルは協力してタスクを完了します。ASP内のApplicationオブジェクトは、これらのファイルを結びつけるために使用されます。

アプリケーションオブジェクトは、セッションオブジェクトと同様に、すべてのページから変数を保存およびアクセスするために使用されます。違いは、すべてのユーザーが共有するアプリケーションオブジェクトに対して、セッションオブジェクトとユーザーの関係が一一対応していることです。

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

Application 変数の保存と取得

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

「Global.asa」内でこのように Application 変数を作成できます:

<script language="vbscript" runat="server">
Sub Application_OnStart
application("vartime")=""
application("users")=1
End Sub
</script>

上記の例では、「vartime」と「users」の2つの Application 変数を作成しました:

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

<%
Response.Write(Application("users"))
%> 

Contents コレクションを巡回

Contents コレクションにはすべての application 変数が含まれています。Contents コレクションをループして、保存されている変数を確認することができます:

<%
dim i
For Each i in Application.Contents
  Response.Write(i & "<br />")
次へ
%>

contents コレクション内のアイテムの数がわからない場合は、count 属性を使用できます:

<%
dim i
dim j
j=Application.Contents.Count
For i=1 to j
  Response.Write(Application.Contents(i) & "<br />")
次へ
%>

StaticObjects コレクションを巡回

StaticObjects コレクションをループして、Application オブジェクトに保存されているすべてのオブジェクトの値を確認することができます:

<%
dim i
For Each i in Application.StaticObjects
  Response.Write(i & "<br />")
次へ
%>

ロックとアンロック

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

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