Counters 구성 요소는 개별 카운터를 만들거나 저장하고 증가시키거나 검색하는 Counters 개체를 만듭니다.
카운터는 정수를 포함하는 영구적인 값입니다. Counters 개체의 Get, Increment, Set, Remove 메서드를 사용하여 카운터를 조작할 수 있습니다. 일단 카운터가 만들어지면 제거할 때까지 지속됩니다.
카운터는 페이지 방문 횟수와 같은 이벤트에서는 자동으로 증가하지 않습니다. Set 메서드와 Increment 메서드를 사용하여 수동으로 카운터를 설정하거나 증가시켜야 합니다.
카운터는 영역에 제한이 없습니다. 일단 카운터가 만들어지면 사이트의 어떤 페이지에서든 값을 검색하거나 계산할 수 있습니다. 예를 들어, Page1.asp라는 페이지에 hits라는 카운터를 표시하고 Page2.asp라는 또 다른 페이지에서 hits를 증가시키면 두 페이지는 같은 카운터를 증가시키게 됩니다. Page1.asp를 방문하여 hits를 34로 늘리는 경우 Page2.asp를 방문하면 hits는 35로 증가하고, 다음 번에 Page1.asp를 방문하면 hits는 36으로 증가합니다.
모든 카운터는 counters.dll 파일과 같은 디렉터리에 있는 하나의 텍스트 파일, Counters.txt에 저장됩니다.
카운터를 업데이트하거나 만들고 삭제한 다음 Counters.txt 파일의 변경 내용을 적용하려면 IIS 서비스를 다시 시작해야 합니다.
| 파일 이름 | 설명 |
| Counters.dll | Counters 구성 요소 |
| Counters.txt | 사이트에 있는 모든 카운터를 저장하는 파일입니다. Counters.txt는 UTF8로 인코드된 파일입니다. 유니코드 문자로 카운터 이름을 만들 수 있습니다. |
Global.asa 파일에 다음을 추가하여 Counters 개체를 서버에 한 번 작성합니다.
<OBJECT
RUNAT=Server
SCOPE=Application
ID=Counter
PROGID="MSWC.Counters">
</OBJECT>
사이트에는 하나의 Counters 개체만 만듭니다. 이 단일 Counters 개체는 개별 카운터를 수없이 많이 만들 수 있습니다.
Windows® 95 또는 그 이상 버전의 인터넷 정보 서비스의 경우 기본 가상 디렉터리의 Global.asa 파일에 Counters 구성 요소가 이미 지정되어 있습니다. Counters.Get, Counters.Increment, Counters.Remove, Counters.Set 메서드를 호출하여 기본 제공 개체와 같이 구성 요소가 만든 Counters 개체를 사용할 수 있습니다. Counters 개체의 다른 인스턴스는 작성할 수 없습니다.
| Get | 카운터의 값을 반환합니다. |
| Increment | 카운터를 1씩 늘립니다. |
| Remove | Counters.txt 파일에서 카운터를 제거합니다. |
| Set | 카운터의 값을 특정 정수로 지정합니다. |
ID 속성을 Counter로 설정하여 Global.asa 파일에 Counters 개체의 인스턴스를 만듭니다.
---Global.asa---
<OBJECT
RUNAT=Server
SCOPE=Application
ID=Counters
PROGID="MSWC.Counters">
</OBJECT>
한 페이지의 Counters 개체를 사용하여 필요한 모든 카운터를 만듭니다.
Setting the Site Counter to <%= Counters.Set("SiteCounter", 1).
아래와 같은 방법으로 다른 페이지에서 카운터를 증가시킬 수 있습니다.
You are visitor number<%= Counters.Increment("SiteCounter ") %> to this page.