68 Stimmen

Was ist ein HttpHandler in ASP.NET

Was ist ein HttpHandler in ASP.NET? Warum und wie wird er verwendet?

1 Stimmen

Vielleicht können Sie diese Seite von MSDN als Starthilfe verwenden: http://msdn.microsoft.com/en-us/library/bb398986.aspx

16voto

Marc Gravell Punkte 970173

Eine HttpHandler (ou IHttpHandler ) ist grundsätzlich alles, was für die Bereitstellung von Inhalten zuständig ist. Eine ASP.NET-Seite (aspx) ist eine Art von Handler.

Sie könnten z.B. Ihre eigene Software schreiben, um Bilder usw. aus einer Datenbank statt aus dem Webserver selbst bereitzustellen, oder um einen einfachen POX-Dienst zu schreiben (statt SOAP/WCF/etc)

1 Stimmen

Erklären Sie dies bitte Sie könnten z.B. Ihre eigene Software schreiben, um Bilder usw. aus einer Datenbank statt aus dem Webserver selbst bereitzustellen, oder um einen einfachen POX-Dienst zu schreiben (statt SOAP/WCF/etc) ?

0 Stimmen

Wenn Sie eine bestimmte Seite anfordern, wird sie HttpHandler angerufen wird ? Das liegt daran, dass diese Seite abgeleitet ist von HttpHandler und dann die Page Objekt erstellt und dann die Page Events genannt werden? Ist das so?

2voto

Santosh Wavare Punkte 21

HttpHandler Beispiel,

HTTP-Handler in ASP.NET 2.0

Ein Handler ist für die Bearbeitung von Anfragen eines Browsers zuständig. Anfragen, die ein Browser verwaltet, werden entweder über die Dateierweiterung oder durch direkten Aufruf des Handlers bearbeitet. Die Low-Level-Anfrage- und Antwort-API zur Bearbeitung eingehender HTTP-Anfragen sind Http-Handler in Asp.Net. Alle Handler implementieren die IHttpHandler-Schnittstelle, die sich im System.Web-Namespace befindet. Handler sind in gewisser Weise analog zu Internet Server Application Programming Interface (ISAPI) Erweiterungen.

Sie implementieren die Schnittstelle IHttpHandler, um einen synchronen Handler zu erstellen, und die Schnittstelle IHttpAsyncHandler, um einen asynchronen Handler zu erstellen. Für die Schnittstellen müssen Sie die Methode ProcessRequest und die Eigenschaft IsReusable implementieren. Die ProcessRequest-Methode übernimmt die eigentliche Verarbeitung der gestellten Anfragen, während die Boolean-Eigenschaft IsReusable angibt, ob Ihr Handler zur Wiederverwendung gepoolt werden kann, um die Leistung zu steigern, oder ob für jede Anfrage ein neuer Handler erforderlich ist.

Die Dateierweiterung .ashx ist für benutzerdefinierte Handler reserviert. Wenn Sie einen benutzerdefinierten Handler mit der Dateinamenerweiterung .ashx erstellen, wird er automatisch in IIS und ASP.NET registriert. Wenn Sie eine andere Dateierweiterung verwenden möchten, müssen Sie die Erweiterung in IIS und ASP.NET registrieren. Der Vorteil der Verwendung einer anderen Erweiterung als .ashx ist, dass Sie einem Handler mehrere Dateierweiterungen zuweisen können.

HTTP-Handler konfigurieren

Der Handler des Konfigurationsabschnitts ist für die Zuordnung eingehender URLs zur Klasse IHttpHandler oder IHttpHandlerFactory verantwortlich. Er kann auf der Computer-, Site- oder Anwendungsebene deklariert werden. Unterverzeichnisse erben diese Einstellungen. Administratoren verwenden die Tag-Direktive, um den Abschnitt zu konfigurieren. Direktiven werden in einer sequenziellen Top-Down-Reihenfolge interpretiert und verarbeitet. Verwenden Sie die folgende Syntax für den Section Handler:

HTTP-Handler erstellen

Um einen HTTP-Handler zu erstellen, müssen Sie die Schnittstelle IHttpHandler implementieren. Die IHttpHandler-Schnittstelle hat eine Methode und eine Eigenschaft mit den folgenden Signaturen: void ProcessRequest(HttpContext); bool IsReusable {get;}

4 Stimmen

Dies wurde wortwörtlich von irgendwoher kopiert, möglicherweise 24x7aspnet.blogspot.com/2009/06/http-handler-in-aspnet-20.html und es gibt bereits eine akzeptierte Antwort von hohem Wert. Bitte geben Sie zumindest Quellen an. Es wäre besser, wenn Sie in Ihren eigenen Worten antworten würden.

1voto

Rajeev Singh Punkte 11

Jede Klasse, die implementiert System.Web.IHttpHandler Die Schnittstelle wird HttpHandler . Und diese Klasse wird als Reaktion auf eine Anfrage an die ASP.NET-Site als Prozess ausgeführt.

Der häufigste Handler ist ein ASP.NET-Seitenhandler, der .aspx-Dateien verarbeitet. Wenn Benutzer eine .aspx-Datei anfordern, wird die Anforderung von der Seite durch den Seitenhandler verarbeitet (Die Klasse, die die System.Web.IHttpHandler Schnittstelle).

Sie können Ihre eigenen benutzerdefinierten HTTP-Handler erstellen, die benutzerdefinierte Ausgaben an den Browser senden.

Einige ASP.NET-Standard-Handler sind:

  1. Page Handler (.aspx) - Verarbeitet Web-Seiten
  2. User Control Handler (.ascx) - Behandelt Web-Benutzersteuerungsseiten
  3. Web Service Handler (.asmx) - Verarbeitet Web Service Seiten
  4. Trace Handler (trace.axd) - Behandelt die Trace-Funktionalität

1voto

Budhimanta Punkte 11

Ein ASP.NET-HTTP-Handler ist der Prozess (häufig als "Endpunkt" bezeichnet), der als Antwort auf eine an eine ASP.NET-Webanwendung gerichtete Anforderung ausgeführt wird. Der häufigste Handler ist ein ASP.NET-Seitenhandler, der .aspx-Dateien verarbeitet. Wenn Benutzer eine .aspx-Datei anfordern, wird die Anforderung von der Seite über den Seitenhandler verarbeitet. Sie können Ihre eigenen HTTP-Handler erstellen, die eine benutzerdefinierte Ausgabe an den Browser liefern.

1voto

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X