2008-11-03 18 views
24

Estoy usando windsor DI framework en uno de mis proyectos MVC. El proyecto funciona bien cuando trataba de huir de Visual Studio 2008.Parece que se olvidó de registrar el módulo http con Windsor Castle con IIS7

Pero cuando traté de ejecutar el proyecto de creación de una aplicación en IIS 7 a continuación, he recibido el siguiente mensaje de error:

Parece que se olvidó de registrar el módulo http Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule Add '< añadir name = "PerRequestLifestyle" type = "Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.MicroKernel"/>' a la sección en su web. config

Pero este módulo ya existe en la sección httpmodule del archivo web.config.

¿Alguien sabe lo que tengo que hacer para eliminar este problema.

Respuesta

35

Intenta agregarlo a la sección system.webServer también?

<configuration> 
    <system.web> 
     <httpModules> 
      <add name="PerRequestLifestyle" type="..." /> 
     </httpModules> 
    </system.web> 
    <system.webServer> 
     <modules> 
      <add name="PerRequestLifestyle" type="..." /> 
     </modules> 
    </system.webServer> 
</configuration> 
+0

Thanks. Resuelve el problema. –

+4









< agregar nombre = "PerRequestLifestyle" tipo = "..." />



... para mí. – Artiom

+0

debe corregirse como bajo . –

4

Me ayudó:

<system.web> 
    <httpModules> 
     <add name="PerRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.Windsor" /> 
    </httpModules> 
42

que tenían el mismo error, pero es causado por otra razón:

traté de resolver IService en Application_Start para el procesamiento de la clase de ruta propia, pero el tipo para IService se registró con PerWebRequestLifestyle. El subsistema de enrutamiento se mantiene en un nivel más alto que la solicitud web, y los objetos no existen en el tiempo de procesamiento de la ruta.

+8

Muy grande +1. Yo también estaba tratando de hacer malabares con PerWebRequest Lifestyles en mi Application_Start y estaba causando falsos positivos en este error. – Kivin

+2

Lo mismo aquí. Al mover el registro a BeginRequest lo resolví en mi caso. – RMD

+0

En lugar de moverme a BeginRequest, creé un ciclo de vida híbrido para usar transitorio cuando HtttpContext.Request es nulo. – Cookie

2

Me he encontrado con este problema en mi entorno de desarrollo. Lo que es digno de mención es esta etiqueta:

<validation validateIntegratedModeConfiguration="false"/> 

Si bien es obvio que hace lo que dice en la lata, se puede parar esos errores molestos a aparecer. Suponiendo que el resto de su configuración está funcionando bien.

Lo que ha funcionado para mí:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"> 
    <remove name="PerRequestLifestyle"/> 
    <add name="PerRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.Windsor"/> 
    </modules> 
</system.webServer> 
Cuestiones relacionadas