SO WIRD'S GEMACHT: Erstellen einer ASP.NET-HTTP-Behandlungsroutine mit Visual C# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 308001 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D308001
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
308001 HOW TO: Create an ASP.NET HTTP Handler Using Visual C# .NET
Eine Microsoft Visual Basic .NET-Version dieses Beitrags finden Sie unter 307997.
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Beitrag mit schrittweisen Anleitungen veranschaulicht die Verwendung von Visual C# .NET zum Erstellen einer einfachen benutzerdefinierten HTTP-Behandlungsroutine. Dieser Beitrag beschreibt das Erstellen, Bereitstellen und Konfigurieren der Behandlungsroutine.

Implementieren der Behandlungsroutine

  1. Öffnen Sie Microsoft Visual Studio .NET. Erstellen Sie ein neues Klassenbibliothekprojekt namens MyHandler in Visual C# .NET.
  2. Fügen Sie einen Verweis auf die Assemblierung System.Web.dll hinzu.
  3. Fügen Sie zu der Klasse die folgenden Anweisung hinzu:
    using System.Web;
  4. Benennen Sie die Klasse in SyncHandler.cs um, und ändern Sie dann die Klassendefinition entsprechend.
  5. Implementieren Sie die Schnittstelle IHttpHandler. Die Klassendefinition sollte folgendermaßen aussehen:
    public class SyncHandler : IHttpHandler
  6. Implementieren Sie die Eigenschaft IsReusable und die Methode ProcessRequest der Schnittstelle IHttpHandler. Da es sich um eine synchrone Behandlungsroutine handelt, geben Sie False für die Eigenschaft IsReusable zurück, damit die Behandlungsroutine nicht gepoolt wird.
    public bool IsReusable
    {
     get {return false;}
    }
    
    public void ProcessRequest(HttpContext context)
    {
     context.Response.Write("Hello from custom handler.");
    }
  7. Kompilieren Sie das Projekt.

Bereitstellen der Behandlungsroutine

  1. Erstellen Sie ein neues Verzeichnis namens Handler unter C:\Inetpub\Wwwroot.
  2. Erstellen Sie ein Unterverzeichnis namens Bin im neu erstellten Verzeichnis Handler. Der sich ergebende Pfad lautet C:\Inetpub\Wwwroot\Handler\Bin.
  3. Kopieren Sie MyHandler.dll aus dem Verzeichnis Bin\Debug des Projekts in das Verzeichnis C:\Inetpub\Wwwroot\Handler\Bin.
  4. Führen Sie die folgenden Schritte durch, um das neue Verzeichnis Handler als Webanwendung zu markieren:
    1. Öffnen Sie den Internetdienste-Manager.
    2. Klicken Sie mit der rechten Maustaste auf das Verzeichnis Handler, und klicken Sie dann auf Eigenschaften.
    3. Klicken Sie auf der Registerkarte Verzeichnis auf Erstellen.
  5. Führen Sie die folgenden Schritte durch, um eine Anwendungszuordnung für die Behandlungsroutine zu erstellen. Erstellen Sie für diese Behandlungsroutine eine Zuordnung zur Datei Aspnet_isapi.dll für die Erweiterung *.sync. Bei jeder Anforderung einer SYNC-Datei wird die Anforderung an ASP.NET umgeleitet, und ASP.NET führt den Code dann in der Behandlungsroutine aus.
    1. Klicken Sie mit der rechten Maustaste auf die Webanwendung Handler, und klicken Sie dann auf Eigenschaften.
    2. Klicken Sie auf der Registerkarte Verzeichnis auf Konfiguration.
    3. Klicken Sie auf Hinzufügen, um eine neue Zuordnung hinzuzufügen.
    4. Geben Sie im Textfeld Ausführbar den folgenden Pfad ein:
      C:\WINNT\Microsoft.NET\Framework\< Versionsnummer >\Aspnet_isapi.dll
    5. Geben Sie im Textfeld Erweiterung Folgendes ein: .sync .
    6. Vergewissern Sie sich, dass das Kontrollkästchen Überprüfen, ob Datei existiert deaktiviert ist, und klicken Sie dann auf OK, um das Dialogfeld Hinzufügen/Bearbeiten der Zuordnung von Anwendungserweiterungen zu schließen.
    7. Klicken Sie auf OK, um die Dialogfelder Anwendungskonfiguration und Moduleigenschaften zu schließen.
  6. Schließen Sie den Internetdienste-Manager.

Konfigurieren des Systems

  1. Erstellen Sie im Verzeichnis C:\Inetpub\Wwwroot\Handler\ eine neue Datei namens Web.config.
  2. Fügen Sie den folgenden Code in die Datei Web.config ein:
    <configuration>
     <system.web>
     <httpHandlers>
     <add verb="*" path="*.sync" type="MyHandler.SyncHandler, MyHandler" />
     </httpHandlers>
     </system.web>
    </configuration>
    Im Attribut verb="*" wird die Behandlungsroutine angewiesen, eine Anforderung zu verarbeiten, die eine Aktionsart (z. B. POST, HEAD, GET usw.) verwendet. Wenn diese Behandlungsroutine nur die POST-Anforderung verarbeiten soll, ändern Sie das Attribut in verb="POST".

    Im Attribut path="*.sync" wird die Behandlungsroutine angewiesen, alle eingehenden Anforderung für Dateien mit der Erweiterung SYNC zu verarbeiten.

    Im Attribut type="MyHandler.SyncHander, MyHandler" wird die Behandlungsroutine, die die Anforderung verarbeitet, zum Implementieren im Namespace MyHandler.SyncHandler angewiesen; diese Klasse befindet sich in der Assemblierung MyHandler.

Testen des Moduls

Eine Datei muss nicht im Dateisystem vorhanden sein, um eine Behandlungsroutine testen zu können. Fordern Sie z. B. die Datei Default.sync in der Webanwendung Handler (http://< Computername >/Handler/Default.sync) an. Das folgende Ergebnis sollte angezeigt werden:
Hallo von benutzerdefinierter Behandlungsroutine.

Informationsquellen

Weitere Informationen zu HTTP-Behandlungsroutinen erhalten Sie, wenn Sie auf die Artikelnummer unten klicken, um den betreffenden Beitrag in der Microsoft Knowledge Base anzuzeigen:
307985 ASP.NET HTTP Modules and HTTP Handlers Overview

Eigenschaften

Artikel-ID: 308001 - Geändert am: Montag, 15. September 2003 - Version: 1.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP .NET
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbhowto kbhowtomaster kbhttpruntime kbgrpdsasp KB308001
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com