Eine ASP.NET HTTP
Handler ist der Prozess (häufig auch als "Endpunkt" bezeichnet), der als Reaktion auf eine Anforderung an eine ASP.NET-Webanwendung ausgeführt wird. Der häufigste Handler ist ein ASP.NET-Seitenhandler, der .aspx-Dateien verarbeitet. Wenn Benutzer eine .aspx file
wird die Anfrage von der Seite über den Page Handler verarbeitet.
Der ASP.NET-Seitenhandler ist nur eine Art von Handler. ASP.NET verfügt über verschiedene andere eingebaute Handler, wie z.B. den Web Service Handler für .asmx files
.
Sie können benutzerdefinierte HTTP-Handler erstellen, wenn Sie eine spezielle Behandlung wünschen, die Sie anhand von Dateinamenerweiterungen in Ihrer Anwendung identifizieren können. Die folgenden Szenarien wären zum Beispiel gute Verwendungszwecke für benutzerdefinierte HTTP-Handler:
RSS-Feeds Um einen RSS-Feed für eine Website zu erstellen, können Sie einen Handler erstellen, der RSS-formatiertes XML ausgibt. Sie können dann die .rss-Erweiterung (zum Beispiel) in Ihrer Anwendung an den benutzerdefinierten Handler binden. Wenn Benutzer eine Anforderung an Ihre Website senden, die auf .rss endet, ruft ASP.NET Ihren Handler auf, um die Anforderung zu verarbeiten.
Bild-Server Wenn Sie möchten, dass Ihre Webanwendung Bilder in verschiedenen Größen bereitstellt, können Sie einen benutzerdefinierten Handler schreiben, um die Größe der Bilder zu ändern und sie dann als Antwort des Handlers an den Benutzer zurückzusenden.
HTTP-Handler haben Zugriff auf den Anwendungskontext, einschließlich der Identität des anfragenden Benutzers (falls bekannt), des Anwendungsstatus und der Sitzungsinformationen. Wenn ein HTTP-Handler angefordert wird, ruft ASP.NET die ProcessRequest
Methode auf den entsprechenden Handler. Die Methode des Handlers ProcessRequest
Methode erstellt eine Antwort, die an den anfragenden Browser zurückgesendet wird. Wie bei jeder Seitenanforderung durchläuft die Antwort alle HTTP-Module, die Ereignisse abonniert haben, die nach Ausführung des Handlers auftreten.
1 Stimmen
Vielleicht können Sie diese Seite von MSDN als Starthilfe verwenden: http://msdn.microsoft.com/en-us/library/bb398986.aspx