« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Статьи » « Новости » « Файлы » « Realcoding IRC » « Site map » « Поиск »


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
Реклама на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга







    Популярное
Функция ChildWindowFromPoint

Как писать драйвера (часть 1)

WEB страничка внутри Delphi приложения

Строковые и символьные константы

Определение IP-адреса с помощью Perl

Создание псевдонима с указанием пути к папке с базой

Применение XML+XSLT при создании сайта

Поиск работы в IT

Некоторые аспекты использования пользовательских функций в предложениях SQL.

Создание компонентов Delphi


ПнВтСрЧтПтСбВс
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
    Архив файлов

    Сообщества

    Документация

    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 21
Пользователей: 0

Статьи:: Интернет технологии :: ASP :: Знакомство с ASP. Счетчик для IIS за 5 минут


отправить ссылку другу версия для печати  Обсудить на форуме

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





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

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

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

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


 

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

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

По способу хранения информации:

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

По способу визуализации:

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

Cчетчик от Microsoft


 

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

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

Для установки счетчика на сервер необходимо скопировать PageCnt.dll в каталог \InetPub\ASPSamp\Components\PageCnt\DLL\i386 и зарегистрировать его: 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.

Порядок действий.

  1. Создайте текстовый файл c:\mycount.txt
  2. Для инициализации счетчика укажите в текстовом файле начальное значение. На пример 0.
  3. В тело вашей страницы впишите следующий код:
    <%
    'Декларирование переменных
       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
    %>
  4. В соответствии с дизайном разместите счетчик.
    <%
       = 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
%>



Рубрика: ASP



О том как разработчики пьют кофе.

Юмор

Сегодня ночью вернулся из Москвы, где я посетил сразу три конференции — SQA, PM Days и PHPconf. На конференции прозвучала масса интересных докладов, о которых наверняка еще не раз напишут, я же хочу поделиться некоторыми забавными наблюдениями. В перерывах между докладами все присутствующие могли выйти в холл, где их ожидали вкусные плюшки, молоко, чай и кофе. Для последнего на столах установили пять термосов. Разумеется для более чем двухсот участников конференции их было явно недостаточно и на каждой конференции эту проблему решали по своему, как умели.


Подробнее... | Рубрика: Юмор | Добавлено: 24.06.2008

Работаем с LINQ to XML.

LINQ

Что же, попробуем раскрыть принципы работы этой новой технологии от Microsoft.


Подробнее... | Рубрика: LINQ | Добавлено: 24.06.2008

XmlSerializer - Assembly Leak без спроса.

Сборки и развертывание

В некоторых частях .NET Framework, таких как XmlSerializer, используется внутреннее динамическое создание кода.XmlSerializer создает временные файлы C#, компилирует результирующие файлы во временную сборку и затем загружает эту сборку в процесс. Такое создание кода тоже стоит сравнительно дорого, поэтому XmlSerializer размещает временные сборки в кэш, по одной на каждый тип. Это значит, что в следующий раз при создании кода XmlSerializer для класса Х не будет создаваться новая сборка, а будет использована сборка из кэша. Однако, не все так просто.


Подробнее... | Рубрика: Сборки и развертывание | Добавлено: 24.06.2008

Остальные статьи:

Реализация MVC в WPF. Александр Шер
ADO.NET Sync Services. Марат Бакиров
Рефакторинг JavaScript с применением Microsoft ASP.NET AJAX. Александр Шер
Архитектура приложений: интерфейс пользователя. Дмитрий Мартынов
Введение в Windows Workflow Foundation. Марат Бакиров
Создание расширяемых и удобных библиотек на платформе .NET. Особенности реализац...
Почему Ruby и Python не могут занять место стареющей Java
Использование пространств имен для организации JavaScript-кода
Создание сложных приложений в ExtJS
Google добавил интерфейс для AJAX-библиотек
Стивен Синофски о Windows 7
Несколько вещей об Ajax, которые должен знать веб-мастер
Model-View-Controller для JavaScript
Remix 2008: интернет меняет Microsoft
Планировщик задач на JavaScript
Построение систем автоматического протоколирования Си/Си++ кода

Цитата дня (все,добавить):

    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование

Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия