2010-05-31 12 views

Respuesta

11

System.ServiceModel.Activation.HttpModule porque instaló la función "Microsoft .NET Framework 3.5.1"/"Windows Communication Foundation HTTP Activation". Si no necesita la característica, puede desinstalarla para eliminar el módulo de su web.config. Los módulos menos utilizados que cargue ejecutarán más rápidamente su aplicación web.

Si instala esta característica después de la instalación de .NET 4 framework en su servidor puede recibir los problemas descritos en http://blogs.iis.net/webtopics/archive/2010/04/28/system-typeloadexception-for-system-servicemodel-activation-httpmodule-in-asp-net-4.aspx.

En general, se llama a un módulo HTTP en cada solicitud en respuesta a los eventos BeginRequest() y EndRequest(). Como resultado, el módulo se ejecuta antes y después de procesar una solicitud. En la sección "Cómo funcionan los módulos HTTP" en http://msdn.microsoft.com/en-us/library/bb398986(v=VS.100).aspx, puede leer más sobre los módulos HTTP.

http://msdn.microsoft.com/en-us/library/ms227673.aspx describe cómo crear un módulo HTTP personalizado. Algunos pequeños módulos personalizados pueden ser realmente útiles. Por ejemplo, puede leer en How to remove the ".svc" extension in RESTful WCF service? un ejemplo de código (que se origina en el libro "RESTful .NET", Capítulo 5, página 96) "Eliminar la extensión .SVC de WCF REST URLs". En http://www.west-wind.com/weblog/posts/570695.aspx, puede leer cómo hacer lo mismo con respecto al "Módulo de reescritura IIS 7".

La información general sobre el módulo HTTP no forma parte de su pregunta, pero la inserté para comprender mejor qué hizo Activation.HttpModule y qué otros módulos más útiles puede usar o escribir usted mismo.

-2

Un módulo http es un conjunto .net que se invoca cada vez que su aplicación web recibe una solicitud. Este es el estándar que proporciona asp.net que conecta su código de aplicación web .net a la infraestructura web de IIS.

Ver here for an explanation.

módulos HTTP

un módulo HTTP es un montaje que es llamada en cada petición que se hace a su aplicación. Los módulos HTTP son llamados como parte de la canalización de solicitudes y tienen acceso a los eventos del ciclo de vida durante toda la solicitud. Los módulos HTTP le permiten examinar las solicitudes entrantes y tomar medidas basadas en la solicitud . También le permiten examinar la respuesta saliente y modificarla.

En IIS 6.0, la canalización de solicitud de ASP.NET está separada de la canalización de solicitud de servidor Web . En IIS 7.0, , la interconexión de solicitudes ASP.NET y la interconexión de solicitudes del servidor web pueden ser integradas en una solicitud común canalización. En IIS 7.0, esto se refiere como modo integrado. La canalización unificada tiene varias ventajas para los desarrolladores de ASP.NET . Por ejemplo, permite que los módulos de código administrado reciban notificaciones de canalizaciones para todas las solicitudes , incluso si las solicitudes no son para recursos de ASP.NET. Sin embargo, si desea , puede ejecutar IIS 7.0 en modo Classic , que emula ASP.NET ejecutando en IIS 6.0. Para obtener más información, consulte ASP.NET Application Life Cycle Descripción general de IIS 7.0.

Los módulos HTTP de ASP.NET son como los filtros ISAPI porque se invocan para todas las solicitudes . Sin embargo, son escritas en código administrado y están completamente integradas con el ciclo de vida de una aplicación ASP.NET . Puede poner el código fuente del módulo personalizado en la carpeta Código_aplicación de su aplicación, o puede colocar los módulos personalizados compilados como ensamblajes en la carpeta Bin de una aplicación .

ASP.NET utiliza módulos para implementar diversas funciones de la aplicación, que incluye autenticación de formularios, almacenamiento en caché, el estado de sesión, y el cliente script services. En cada caso, cuando esos servicios están habilitados, se llama al módulo como parte de una solicitud y realiza tareas que están fuera del alcance de cualquier solicitud de página única. Los módulos pueden consumir eventos de aplicación y pueden generar eventos que pueden ser manejados en el archivo Global.asax. Para más información sobre la aplicación eventos, consulte Vida de la aplicación ASP.NET Descripción general del ciclo para IIS 5.0 y 6.0 y Ciclo de vida de la aplicación ASP.NET Descripción general de IIS 7.0.

+0

Sé lo que es un módulo Http, simplemente no es este. ¿Puede explicar con más detalle qué quiere decir con "onnects your .net web application code to the IIS web infrastructure". me parece extraño que esto se implemente como un módulo http: si esto es lo que hace, no es opcional. – UpTheCreek

+0

El texto que citó trata sobre httpmodules en general: mi pregunta es acerca de un módulo específico. – UpTheCreek

4

Este módulo es lo que permite que funcionen los servicios WCF (Windows Communication Foundation) (a partir de .NET Framework 3.0).

Puede ignorarlo sin problemas y no debería causar problemas. Si realmente desea deshacerse de él, puede eliminarlo de su archivo web.config raíz (por ejemplo, en \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ web.config). Pero sugiero dejarlo allí por si necesita WCF en algún momento.