ASP Application 객체

한 가지 작업을 완료하기 위해 함께 작업하는 ASP 파일 집합을应用程序(application)이라고 합니다. ASP의 Application 객체는 이 파일들을 묶어주는 역할을 합니다.

Application 객체

웹上一个应用程序可以是一组 ASP 파일. 이 ASP 파일들은 함께 작업하여 특정 작업을 완료합니다. ASP의 Application 객체는 이 파일들을 묶어주는 역할을 합니다.

Application 객체는 어떤 페이지에서든 변수를 저장하고 접근하는 데 사용됩니다. session 객체와 유사하지만, Application 객체는 모든 사용자가 공유하는 반면, session 객체는 사용자와 일대일로 맞추어집니다.

Application 객체는 많은 페이지에서 사용될 정보(예: 데이터베이스 연결 정보)를 가지고 있습니다. 이는 이 정보를 어떤 페이지에서든 접근할 수 있다는 것을 의미합니다. 또한, 이는 한 곳에서 정보를 변경하면 모든 페이지에 자동으로 반영된다는 것을 의미합니다.

Application 변수를 저장하고 꺼내는 방법

Application 변수는 애플리케이션의 모든 페이지에서 접근하고 변경할 수 있습니다.

이렇게 "Global.asa"에서 Application 변수를 생성할 수 있습니다:

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

위의 예제에서는 "vartime"과 "users" 두 개의 Application 변수를 생성했습니다:

이렇게 Application 변수의 값을 접근할 수 있습니다:

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

Contents 컬렉션 순회

Contents 컬렉션은 모든 application 변수를 포함하고 있습니다. contents 컬렉션을 순회하여 저장된 변수를 확인할 수 있습니다:

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

contents 컬렉션의 항목 수를 알지 못하면 count 속성을 사용할 수 있습니다:

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

StaticObjects 컬렉션 순회

StaticObjects 컬렉션을 순회하면 Application 객체에 저장된 모든 객체의 값을 확인할 수 있습니다:

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

잠그기와 해제

"Lock" 메서드를 사용하여 애플리케이션을 잠그실 수 있습니다. 애플리케이션이 잠그면, 사용자들은 Application 변수를 변경할 수 없습니다. (Application 변수를 접근하고 있는 사용자를 제외하고)

<%
Application.Lock
  '도움 프로그램 객체 작업 수행
Application.Unlock
%>