更新:
在温莎2.5中,程序集名称是Castle.Windsor而不是Castle.MicroKernel
我正在尝试将一个ASP.NET MVC应用程序部署到IIS7上,并得到了以下错误:
看来您忘记注册http模块Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule,将'‘添加到您的web.config上的部分
我的httpModules包含:
<httpModules>
<add name="PerRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.MicroKernel"/>
</httpModules>system.webServer处理程序部分包含
<handlers>
<remove name="PerRequestLifestyle"/>
<add name="PerRequestLifestyle" preCondition="managedHandler" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.Microkernel" verb="*" path="*.castle" />
</handlers>当错误丢失时,我添加了verb="*" path="*.castle"部件。不确定他们的价值观是否正确。
有人知道这里有什么问题吗?
发布于 2010-03-09 13:16:22
您可以通过在configuration/system.webServer/modules而不是configuration/system.web/httpModules.中注册HTTP模块来解决这个问题
发布于 2013-01-25 13:54:51
我的问题是,我在Application_Start中引导容器,在ASP.NET中的那个点没有初始化模块,所以当您尝试注册/使用PerWebRequest生活方式时,它会抛出这个异常,因为它检测到模块没有初始化。
最后,我使用了来自城堡龙骨的城堡龙骨,它提供了HybridPerWebRequestTransient的生活方式,如果目前还没有初始化,就会使用短暂的生活方式。
您只需下载库(因为zip是好的),打开解决方案并编译它,获取生成的DLL并在项目中引用它。
如果您使用的Castle.Windsor版本超过3.0,您必须删除对它的当前引用,并将引用添加到您正在使用的版本(我当时使用的是3.1,没有任何问题)。
这是使用生活方式的代码:.LifeStyle.HybridPerWebRequestTransient()
发布于 2010-11-12 07:28:05
我花了一些时间为这个问题找到解决方案,但我所要做的就是更新web.config中引用的dll .
使用Castle.Core和温莎2.5.1..。
https://stackoverflow.com/questions/1498722
复制相似问题