dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

ASP.NET 3.5 - Konzepte und Techniken zur Programmierung von Websites

Matthias Fischer, Jörg Krause

 

Verlag Carl Hanser Fachbuchverlag, 2009

ISBN 9783446421356 , 1080 Seiten

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

59,90 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

24 Handler und Module (S. 940-941)

In diesem Kapitel finden Sie eine umfassende Darstellung der elementaren Erweiterungstechniken – Module und Handler. Beide Methoden sind eng mit der Verarbeitungspipeline in ASP.NET und den IIS verbunden.

Behandelt werden hier Themen wie:
- Die verfügbaren internen Module (Seite 941)
- Wie Sie eigene Module erstellen (Seite 942)
- Die verfügbaren internen Handler (Seite 954)
- Eigene Handler für synchrone (Seite 954) und asynchrone Verarbeitung (Seite 961)

Handler und Module testen und debuggen (Seite 970) 24.1 Module, Handlers und die IIS Die IIS sind modular erweiterbar. Diese Erweiterungsschnittstelle lässt sich in zwei Kategorien teilen: ƒÞ Module Handler Ähnlich, wie die in früheren Versionen der IIS üblichen ISAPI-Filter, partizipiert ein Modul an jeder eintreffenden Anforderung. Damit ist es möglich, die an den Client gesendete Inhalte nachträglich zu erweitern oder zu ändern.

Auch die eintreffenden Anfragen lassen sich global einer Verarbeitung unterziehen. Typisch sind die eingebauten Module zur Authentifizierung, Kompression des Ausgabedatenstroms und Protokollierung. Ein Modul basiert auf einer Implementierung der Schnittstelle System.Web.IHttpModule. Die damit erzeugten Methoden erlauben den Eingriff in die Verarbeitungspipeline. Im Gegensatz dazu entsprechen Handler den ISAPI-Erweiterungen in früheren IISVersionen.

Handler sind für spezifische Anforderungen zuständig, beispielsweise liefert ASP.NET einen Handler für die Verarbeitung von .aspx-Seiten – die PageHandlerFactory. Der wesentliche Unterschied zwischen Modulen und Handlern ist die Tatsache, dass Handler an einen bestimmten Pfad bei der Anforderung von Ressour cen gebunden sind. Dies kann ein vollständiger Pfad, eine Datei oder auch nur eine Datenerweiterung sein. Darüber hinaus kann die Zuständigkeit auch für bestimmte HTTP-Befehle gelten, beispielsweise nur für POST oder nur für GET. Handler sind Implementierungen der Schnittstellen System.Web. IHttpHandler oder System.Web.IHttpAsyncHandler.

Bei der Entwicklung von Erweiterungen für ASP.NET und die IIS müssen Sie also zuerst entscheiden, ob für das zu lösende Problem ein Modul oder besser ein Handler entwickelt werden soll. Es gibt üblicherweise keine Aufgabe die beides erfordert. Als Faustformel gilt, dass Aufgaben die bestimmte Dateiarten, wie *.png betreffen, besser von Handlern erledigt werden. Allgemeine Aktionen, die alle Anforderungen betreffen, werden idealerweise von Modulen verarbeitet. Konkret heißt das, dass für die dynamische Erzeugung von Bildern ein Handler benötigt wird. Um jeder Seite eine Fußzeile hinzuzufügen, käme eher ein Modul in Betracht.

24.2 Module
In diesem Abschnitt werden Module vorgestellt. Neben den internen Modulen wird die Verknüpfung mit den IIS7 gezeigt. Es werden dann typische Beispiele für eigene Anwendungen vorgestellt.

24.2.1 Module und die IIS7-Architektur

Die tiefe Integration von ASP.NET mit den IIS7 wurde bereits mehrfach angesprochen. Module sind ein Ausdruck des Wandels von der monolithischen Architektur hin zu einem modularen System – nonem est omen. Module sind praktisch die Funktionen, die den Webserver ausmachen. Alle Module haben eine spezifische Aufgabe rund um ihre Primärfunktion" – die Verarbeitung der Anfrage. Dies kann einfach oder kompliziert sein, vor allem, wenn die Anfrage nicht nur eine statische Ressource betrifft. Denken Sie an die bereits fertig integrierten Module wie Authentifizierung, Kompression oder die Verwaltung des Cache. Unter der Annahme, dass die primäre Plattform IIS7 ist, können Sie alle Module in zwei große Bereiche teilen: ƒÞ Native Module ƒÞ Verwaltete Module.