ASP.NET: Was macht dieses HttpModule? System.ServiceModel.Activation.HttpModule

8

Kann jemand mir den Zweck dieses HttpModule erklären? Es wird in meiner HttpModuleCollection-Liste angezeigt, aber ich weiß nicht, wofür es ist.

%Vor%

Ich kann keine Dokumentation darüber finden.

    
UpTheCreek 31.05.2010, 08:59
quelle

3 Antworten

11

System.ServiceModel.Activation.HttpModule kommt von Ihnen, weil Sie "Microsoft .NET Framework 3.5.1" / "Windows Communication Foundation-HTTP-Aktivierung" installiert haben. Wenn Sie die Funktion nicht benötigen, können Sie sie deinstallieren, indem Sie das Modul aus Ihrer web.config entfernen. Je weniger ungenutzte Module geladen werden, desto schneller wird Ihre Webanwendung ausgeführt.

Wenn Sie diese Funktion nach der Installation von .NET 4 Framework auf Ihrem Server installieren, können Probleme auftreten, die in Ссылка .

Im Allgemeinen wird ein HTTP-Modul bei jeder Anfrage als Reaktion auf die Ereignisse BeginRequest () und EndRequest () aufgerufen. Daher wird das Modul vor und nach der Verarbeitung einer Anforderung ausgeführt. Im Abschnitt "Wie HTTP-Module funktionieren" auf Ссылка können Sie Lesen Sie mehr über HTTP-Module.

Ссылка beschreibt, wie Sie ein benutzerdefiniertes HTTP-Modul erstellen. Einige kleine benutzerdefinierte Module können sehr hilfreich sein. Zum Beispiel können Sie lesen So entfernen Sie die " .svc "Erweiterung im RESTful WCF-Dienst? ein Codebeispiel (aus dem Buch" RESTful .NET ", Kapitel 5, Seite 96)" Entfernen der .SVC-Erweiterung aus WCF-REST-URLs ". In Ссылка können Sie lesen, wie Sie dasselbe in Bezug auf "IIS 7 Rewrite Module" tun können.

Die allgemeinen Informationen zum HTTP-Modul sind nicht Teil Ihrer Frage, aber ich habe sie eingefügt, um besser zu verstehen, was Activation.HttpModule macht und welche anderen nützlicheren Module Sie verwenden oder selbst schreiben können.

    
Oleg 10.06.2010, 14:09
quelle
4

Mit diesem Modul können WCF (Windows Communication Foundation) -Dienste (beginnend in .net Framework 3.0).

Sie können es ignorieren und es sollte keine Probleme verursachen. Wenn Sie es wirklich loswerden wollen, können Sie es aus Ihrer Root-Datei web.config entfernen (z. B. in  \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Konfig \ web.config). Aber ich schlage vor, es dort zu lassen, nur für den Fall, dass Sie WCF irgendwann brauchen.

    
David Ebbo 10.06.2010 11:45
quelle
-2

Ein http-Modul ist eine .net-Assembly, die jedes Mal aufgerufen wird, wenn Ihre Webanwendung eine Anforderung erhält. Dies ist der Standard, den asp.net bietet, der Ihren .net-Webanwendungscode mit der IIS-Web-Infrastruktur verbindet.

Siehe hier für eine Erklärung .

  

HTTP-Module

     

Ein HTTP-Modul ist eine Baugruppe   rief auf jede Anfrage, die gemacht wird   zu Ihrer Bewerbung. HTTP-Module sind   wird als Teil der Request-Pipeline aufgerufen   und haben Zugang zu Life-Cycle-Events   während der gesamten Anfrage. HTTP-Module   Lassen Sie sich daher eingehender untersuchen   Anfragen und Maßnahmen basierend auf der   anfordern. Sie lassen Sie auch die   ausgehende Antwort und ändern Sie sie.

     

In IIS 6.0 die ASP.NET-Anfrage   Pipeline ist vom Web getrennt   Serveranforderungs-Pipeline. In IIS 7.0   die ASP.NET-Anfrage-Pipeline und die   Webserver-Anfrage-Pipeline kann sein   in eine gemeinsame Anfrage integriert   Pipeline. In IIS 7.0 wird darauf verwiesen   in den integrierten Modus. Das vereinigte   Pipeline hat mehrere Vorteile für   ASP.NET-Entwickler. Zum Beispiel, es   Lassen Sie Module mit verwaltetem Code empfangen   Pipeline-Benachrichtigungen für alle   Anfragen, auch wenn die Anfragen nicht sind   für ASP.NET-Ressourcen. Wenn Sie jedoch   möchten, können Sie IIS 7.0 in Classic ausführen   Modus, der die Ausführung von ASP.NET emuliert   in IIS 6.0. Weitere Informationen finden Sie unter   ASP.NET Anwendungslebenszyklus   Übersicht für IIS 7.0.

     

ASP.NET HTTP-Module sind wie ISAPI   Filter, weil sie aufgerufen werden   alle Anfragen. Sie sind es jedoch   geschrieben in verwaltetem Code und sind voll   integriert in den Lebenszyklus eines   ASP.NET-Anwendung. Du kannst Geben   benutzerdefinierter Modulquellcode in der   App_Code-Ordner Ihrer Anwendung,   oder Sie können kompilierte benutzerdefinierte Module einfügen   als Assemblys im Bin-Ordner eines   Anwendung.

     

ASP.NET verwendet Module zur Implementierung   verschiedene Anwendungsfunktionen, die   beinhaltet Formularauthentifizierung,   Caching, Sitzungsstatus und Client   Skript-Dienste. In jedem Fall wann   Diese Dienste sind aktiviert, das Modul   wird als Teil einer Anfrage aufgerufen und   führt Aufgaben aus, die außerhalb der   Umfang einer einzelnen Seite Anfrage.   Module können Anwendungsereignisse verbrauchen   und kann Ereignisse auslösen, die sein können   in der Datei Global.asax behandelt. Zum   Weitere Informationen zur Anwendung   Ereignisse finden Sie unter Lebensdauer von ASP.NET-Anwendungen   Zyklusübersicht für IIS 5.0 und 6.0 und   ASP.NET Anwendungslebenszyklus   Übersicht für IIS 7.0.

    
Preet Sangha 31.05.2010 09:03
quelle

Tags und Links