Asp.net IIS7&;Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule注册问题
更新: 在Windsor 2.5中,程序集名称为Asp.net IIS7&;Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule注册问题,asp.net,asp.net-mvc,iis-7,web-config,castle-windsor,Asp.net,Asp.net Mvc,Iis 7,Web Config,Castle Windsor,更新: 在Windsor 2.5中,程序集名称为Castle.Windsor而不是Castle.MicroKernel 我正在尝试将ASP.NET MVC应用程序部署到IIS7,但出现以下错误: 看起来您忘记注册http模块了 Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule将“”添加到 web.config 我的httpModules包含: <httpModules> <add name="PerReq
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”
部分,因为当它们丢失时,我得到了错误。不确定它们的值是否正确
有人知道这里有什么问题吗?您可以通过在配置/system.webServer/modules中注册HTTP模块来解决问题,而不是配置/system.web/httpModules花了我一些时间来找到解决方案,但我所要做的就是更新在web.config 使用Castle.Core和Windsor 2.5.1。。。
我的问题是,我在
应用程序启动中引导容器,模块在ASP.NET中未初始化,因此当您尝试注册/使用PerWebRequest
时,它会抛出该异常,因为它检测到模块未初始化
我最终使用了from,它提供了HybridPerWebRequestTransient
生活方式,如果此时没有初始化,它将使用Transient生活方式
您只需下载库(因为zip是可以的)打开解决方案并编译它,获取生成的DLL并在项目中引用它
如果您使用的是Castle.Windsor版本3.0以上,则必须删除对它的当前引用,并添加对您正在使用的版本的引用(我使用的是3.1,没有任何问题)
这是使用生活方式的代码:.lifesture.HybridPerWebRequestTransient()
PerWebRequestLifestyleModule是一个模块,而不是处理程序。从处理程序部分删除它。尝试在模块声明中包含版本、区域性和PublicKeyToken。谢谢,我删除了模块声明。版本、区域性和PublicKeyToken不是必需的。我还必须添加一个处理程序。还必须创建目录“C:\TempImageFiles”才能使其工作。那么它解决了您的问题吗?ChartImageHandler和温莎有什么关系?可能是