Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Знакомство с ASP: счетчик для IIS за 5 минут

InfoCity

Знакомство с ASP: счетчик для IIS за 5 минут


Евгений Кондратов (aka Udjin)


В данной статье будут рассмотрены варианты создания счетчиков для сайтов построенных на базе IIS 3, 4, 5, PWS, GoAhead. Для некоторых счетчиков - любой сервер поддерживающий работу со скрипт - машинами Windows с помощью различных расширений и модулей.(Chili-ASP, ActivePerl). При написании статьи использованы материалы с сайтов: Microsoft www.activeserverpages.ru Документация к IIS

Примечание: данный материал рассчитан на начинающих скриптеров, по сему код максимально упрощен с целью облегчения восприятия. Код размещен по принципу "от простого - к сложному"

Классификация.


По признаку своей функциональности счетчики можно подразделить на счетчики: с накоплением; в рамках сессии; ементами персонификации; с возможностью дальнейшего анализа информации о клиенте;

По способу хранения информации: хранение в переменных сессии (приложения); хранение в файле на стороне сервера; хранение в файле на стороне клиента; хранение в базе данных; комбинированные;

По способу визуализации: текстовые; графические; информеры ( как комбинация первых двух );

Cчетчик от Microsoft


Возможности: счетчик с накоплением, поддержка "виртуальных" сайтов, отдельных asp-страниц.

Для создания данного счетчика необходимо с сайта Microsoft скачать серверный компонент PageCounter и установить его. Весь код счетчика оформлен в виде ISAPI-dll (распространяется вместе с исходными текстами) и число обращений к конкретной странице или инициалиазация/сброс счетчика вызываются как метод серверного объекта PageCounter.

Для установки счетчика на сервер необходимо скопировать PageCnt.dll в каталог InetPubASPSampComponentsPageCntDLLi386 и зарегистрировать его: regsvr32 PageCnt.dll В случае, если Вы планируете подсчитывать обращения к нескольким виртуальным сайтам, Вам необходимо конфигурировать их как приложения.

Счетчик поддерживает 2 метода HITS и RESET

Код инициализации счетчика для конкретного сайта:
Распологать его лучше всего в верхней части страницы, в первых строках. <% Set MyPageCounter = Server.CreateObject("IISSample.PageCounter") HitMe = MyPageCounter.Hits %>

Отображение количества заходов:
Данный фрагмент размещайте сообразуясь с дизайном своего сайта. <% =HitMe %>

Для подсчета на конкретной странице сайта код несколько изменится: <% Set MyPageCount = Server.CreateObject("IISSample.PageCounter") MyPageCount.PageHit HitMe = MyPageCount.Hits %> <% =HitMe %> или <% Set MyPageCounter = Server.CreateObject("IISSample.PageCounter") %> This Web page has been viewed <%= MyPageCount.Hits %> times. <P> Page Myscript.asp has been viewed <%= MyPageCounter.Hits("/VirtualDir1/Myscript.asp") %> times.

Для того, чтобы запустить счетчик с какого-либо начального значения (12345) используйте следующий код: <% =HitMe + 12345 %>

Сброс счетчика (RESET). <% Set MyPageCounter = Server.CreateObject("IISSample.PageCounter") MyPageCounter.Reset MyPageCounter.Reset("/VirtualDir1/Mypage.asp") %>

Простейшиe счетчики


Возможности: счетчик с накоплением. Хранит информацию о количестве обращений в текстовом файле.

Используется объект VBScript (WSH) FileSystemObject.

Порядок действий. Создайте текстовый файл c:mycount.txt Для инициализации счетчика укажите в текстовом файле начальное значение. На пример 0. В тело вашей страницы впишите следующий код: <% 'Декларирование переменных Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, f, myCounter 'Создаем объект Set fso = CreateObject("Scripting.FileSystemObject") 'открываем файл на чтение, и считываем из него ВСЕ содержимое 'если файл отсутствует, то создаем его (Trye). Set f = fso.OpenTextFile("c:mycount.txt", ForReading, True) 'отключаем обработку ошибок On error resume next 'считываем содержимое, в случае пустого (Empty)значения 'присваиваем значение 0 переменной myCounter myCounter = f.readAll If myCounter = Empty Then myCounter = 0 'если все в порядке, то увеличиваем значение переменной myCounter на 1 Else myCounter = myCounter + 1 End If 'открываем файл на запись и обновляем значение счетчика Set f = fso.OpenTextFile("c:mycount.txt", ForWriting, True) f.Write myCounter 'закрываем файл f.Close 'очищаем память Set f = nothing Set fso = nothing %> В соответствии с дизайном разместите счетчик. <% = myCounter %>

Счетчик с накоплением. Хранит данные в переменных сесии ( приложения ), отображает количество пользователей, находящихся в данный момент на сайте.

В рут - каталоге сайта создайте файл global.asa

Код: <SCRIPT LANGUAGE=VBScript RUNAT=Server> SUB Session_OnStart Session.Timeout = 5 Application.lock Application("myCounter") = Application("myCounter") + 1 Application("visitors") = Application("visitors") + 1 Application.unlock END SUB </script> <SCRIPT LANGUAGE=VBScript RUNAT=Server> SUB Session_OnEnd Application.lock Application("visitors") = Application("visitors") - 1 Application.unlock END SUB </script>

В теле asp-страницы разместите код: <% Dim vist, currentcount visit = Application("visitors") currentcount = Application("myCounter") %>

В соответствии с дизайном поместите счетчик общего числа обращений/текущего количества пользователей <% = currentcount & "/" & visit %>

В следующих статьях будут рассмотрены способы создания более сложных счетчиков с использованием баз данных и информеров.

[Вперед]

Автор и координатор проекта: Михаил Пинкус  
Дизайн: Tangram Design Studio  


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте