Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Seitenzugriffe mit der PageCounter Komponente erfassen

Geschrieben von: Christian Holm
Kategorie: ASP Grundlagen

Um die Popularität Ihrer Website zu überprüfen, können Sie auf den Seiten Ihrer Site einen Page Counter (Zähler) einsetzen, der die Clientzugriffe mitloggt. Natürlich gibt es eine Vielzahl von Drittanbieter die dieses Feature zur Verfügung stellen. Dabei müssen Sie wieder ein fremdes Script in Ihre Seite einbinden, sich lästige Werbung gefallen lassen - von Konfigurationsproblemen ganz zu schweigen.

Warum sollte man also auf solche Angebote ausweichen, vor allem dann, wenn der Internet Information Server (IIS) eine kleine ASP-Komponete zur Verfügung stellt, die sich einfachst einbinden läßt - die PageCounter Komponente. Diese läßt sich leicht konfigurieren und mit ein bischen Code sogar professionell aufpeppen.

Die Page Counter Komponente ist bereits ab dem Internet Information Server (IIS) Version 4 verfügbar (IIS Resource Kit), und wird bei Windows 2000 Internet Information Services standardmäßig mitinstalliert.

Verwendung der PageCounter Komponente

Die PageCounter Komponente zählt die Zugriffe auf eine ASP Seite und kann die Gesamtstatistik auf derselben oder einer anderen Seite wieder ausgeben. Innerhalb bestimmter, regelmäßiger Intervalle schreibt das Objekt die Pagehits in eine Textdatei (die sogenannte Hit Count Data Datei), damit diese Daten auch über Serverrestarts verfügbar bleiben.

Für Programmierer als auch Administratoren ist es natürlich gut zu wissen, wo diese Hit Count Data Datei gespeichert wird (etwaige Zugriffsrechteprobleme könnten mit der Standardeinstellung entstehen), sowie wie oft die Counter dort gespeichert werden (bei vielen Seiten mit hoher Zugriffsfrequenz sollte man das Intervall erhöhen).

Diese Informationen (Speicherort und Speicherfrequenz) werden in der Registrierdatenbank des Servers abgelegt. Der Pfad ist HKEY_CLASSES_ROOT\MSWC.PageCounter (siehe Bild).

Die beiden Schlüsselwerte, die man verändern kann, sind hier beschrieben:
WertBeschreibung
File_Location

Dieser Wert gibt den Pfad und den Dateinamen der Hit Count Data Datei an. Standardmäßig wird der Dateiname Hitcnt.cnt verwendet und ist im Data Verzeichnis des IIS zu finden (wie gesagt, dies könnte ein Berechtigungsproblem für IUSR_machinename sein).

Save_Count

Enthält die Anzahl der Pagehits bevor sie in der Hit Count Data Datei gespeichert wird (=das Maximum an Hits die verloren gehen würden, falls der Server vorher abstürzen würde). Der Wert ist vom Datentyp ein DWORD (Double Word), und standardmäßig auf 25 gesetzt.

Beachte: Dieser Wert entspricht der Gesamtanzahl der Pagehits über den gesamten Server, und nicht der Anzahl von Treffern pro Internetseite.

Da wir jetzt alle funktionalen Details geklärt haben, können wir nun zum Programmieren kommen. Wenn man die PageCounter Komponente nun verwenden möchte, so hat man drei Methoden zur Verfügung

  • Hits Zeigt die Anzahl der Zugriffe auf eine lokale URL an
  • PageHit Erhöht den Page Hit Count um 1
  • Reset Setzt den Hit Count der angegeben Seite auf Null (0) zurück

Mit diesen Information wollen wir uns nun auf Beispiele stürzen.

Auslesen und Erhöhen von Page Counts

Dieses Beispiel verwendet die PageHit und Hits Methoden der PageCounter Komponente, um die Anzahl der Besucher zu ermitteln (countertest.asp).

<% @LANGUAGE="VBSCRIPT" %>
<% 
Option Explicit 
Response.Expires = 0
%>
<html>
<head>
	<title>PageCount'd Page</title>
</head>
<body bgcolor="#ffffff">
<p>
Zählen der HitCounts mit Hilfe der Hits-Methode:
<%
Dim PgeCount
Set PgeCount = Server.CreateObject("MSWC.PageCounter")
PgeCount.PageHit
%>
Diese Website wurde 
  <b><%= PgeCount.Hits %></b> 
Mal besucht.
</p>

<p>
Ausgabe Counter für beliebige Seite:
Die Seite prettyscript.asp wurde 
  <b><%= PgeCount.Hits("/aspheute/prettyscript.asp") %></b>
Mal besucht.
</p> 

<%
Set PgeCount = Nothing
%>

</body>
</html>

Wie man im Beispielcode sehen kann, verwende ich die Hits Methode einmal ohne, als auch einmal mit Parameter. Der optionale Parameter gibt eine beliebige Datei an, von der der Hit Count ermittelt werden soll. Falls der Parameter nicht gesetzt ist, dann wird der Hit Count der aktuell ausgeführten Seite ausgegeben.

Der Rückgabewert der Hits Methode entspricht der Anzahl an Hit Counts und hat den Datentyp Long.

Wie komme ich aber nun zu meinem Hit Count - sprich, wie erhöhe ich die Anzahl der Zugriffe? Das erledigt die Methode PageHit für uns - sie erhöht den Hit Count der aktuellen Webseite um eins (1). In diesem Beispiel mache ich es sofort nach der Instanzierung des MSWC.PageCounter Objekts.

Hit Counts zurücksetzen

Hier kommt uns die dritte Methode - die Reset Method - zu Hilfe. Sie setzt beliebige Zugriffszähler auf 0 zurück. Auch diese Methode hat einen optionalen Pfadparameter, der auch wie bei Hits dazu verwendet werden kann, um beliebige Zähler zurückzusetzen.

Das nun folgende Beispiel setzt den Zähler der aktuellen Seite und für eine externe Datei auf 0 zurück (counterreset.asp).

<% Option Explicit %>
<html>
<head>
	<title>Resetten der Page Counter</title>
</head>
<body bgcolor="#ffffff">
<% 
Dim PgeCount
Set PgeCount = Server.CreateObject("MSWC.PageCounter")
' Rücksetzung der aktuellen Seite
PgeCount.Reset
' Rücksetzung einer beliebigen Seite
PgeCount.Reset("/webroot/webseite.asp")
' ab jetzt sind alle Counter auf 0:
%>
<P>
Page Hits auf aktueller Seite: 
	<%= PgeCount.Hits %> <br>
Page Hits auf prettyscript.asp: 
	<%= PgeCount.Hits("/aspheute/prettyscript.asp") %>
</p>
</body>
</html>

Schlußbemerkung

Dieser Artikel beschreibt die Möglichkeiten der PageCounter Komponente mit ihren zur Verfügung gestellten Methoden. Hier wurde lediglich das Grundwissen zur Komponente vermittelt - durch zusätzliches Tuning läßt sich natürlich noch einiges verbessern (Statistiken über alle Seiten, Tagescounter, etc).

In den meisten Fällen kann man auf einen optischen Aufputz verzichten - was sicherlich das Tüpfelchen auf dem "i" ist, ist die graphische Auswertung der Page Hits.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.