Webformular-Tracking mit ASP.NET

Es gab für dieses Projekt mehrere mögliche Ansätze. Eine Möglichkeit war das Schreiben eines eigenen Web-Request-Moduls. Dies stellt den wohl komplexesten Ansatz dar und wäre für dieses Szenario bei weitem zu aufwendig gewesen. ASP-Entwickler würden zu diesem Zweck wohl eher auf eine Include-Datei zurückgreifen.ASP.NET unterstützt jedoch keine Include-Dateien. Ein alternativer Ansatz verwendet eines der Ereignisse, die jedes Mal ausgelöst werden, wenn ein Webformular angefordert wird. Es gibt vier solche Ereignisse, die in der folgenden Reihenfolge ausgelöst werden:

  • Init
  • Load
  • Prerender
  • Unload

Das Init-Ereignis wird zuerst ausgelöst, so dass man einfach einen Code in dieses Ereignis einfügen kann, der das Ereignis in einer Datei oder wie in diesem Fall in einer Datenbank loggt. Der entsprechende Code könnte wie folgt aussehen:

Die obigen Kommentare beschreiben das Problem mit diesem recht mühseligen Ansatz. Eine elegantere Lösung könnte dagegen die Vererbung ausnutzen.

Jedes Webformular erbt standardmäßig von der Klasse System.Web.UI.Page. Also musste nur eine zusätzliche Schicht zwischen dem abgeleiteten Webformular und seiner Basis-Klasse eingefügt werden. Wir erstellten dazu eine Klasse namens PageTrack, die von System.Web.UI.Page erbt. Der Code für das Logging war in PageTrack enthalten. Jedes Webformular könnte dann so modifiziert werden, dass es von PageTrack statt von System.Web.UI.Page erbt. Mithilfe der Vererbung wurde der Logging-Code automatisch eingefügt. Hier der Code von PageTrack:

Man sollte daran denken, dass diese Klasse in ein .NET-Klassenbibliothek-Projekt eingebunden werden kann, um sie in mehreren Web-Anwendungen wiederverwenden zu können. Außerdem kann man dank der Sprach-übergreifenden Kompatibilität von .NET die Klasse PageTrack in VB.NET erstellen und sie in einer C#-Web-Anwendung benutzen.

Anfragen-Logging

Das direkte Logging in einer Datenbank kann eine effektive Methode darstellen, um die entsprechenden Informationen unmittelbar für Anwendungen zugänglich zu machen. Wenn man sich für diese Technik entscheidet, sollte man versuchen, den Logging-Code so weit wie möglich zu optimieren, um die unvermeidlichen Performance-Einbußen zu minimieren. Und man sollte daran denken, dass die Logging-Informationen evtl. doppelt vorliegen: einmal in den IIS-Logs und einmal in der Datenbank.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Bayerische KI-Agentur bietet KI-KOMPASS

Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.

1 Woche ago

Cloudflare: Weltweiter Internettraffic wächst 2024 um 17,2 Prozent

Das Wachstum konzentriert sich wie im Vorjahr auf das zweite Halbjahr. Google dominiert bei den…

1 Woche ago

Adobe stopft kritische Löcher in Reader und Acrobat

Sie ermöglichen eine Remotecodeausführung. Angreifbar sind Acrobat DC, 2024 und 2020 sowie Reader DC und…

1 Woche ago

Dezember-Patchday: Microsoft schließt Zero-Day-Lücke

Die öffentlich bekannte und bereits ausgenutzte Schwachstelle erlaubt eine Rechteausweitung. Betroffen sind alle unterstützten Versionen…

1 Woche ago

Quantencomputer: Google meldet Durchbruch bei Fehlerkorrektur

Der neue Quantenchip Willow löst eine Herausforderung, an der seit 30 Jahren gearbeitet wird. Google…

1 Woche ago

OpenAI veröffentlicht KI-Video-Tool Sora

Es erstellt kurze Videoclips aus Textaufforderungen. Sora steht ab sofort Abonnenten von ChatGPT Plus und…

1 Woche ago