首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule和IIS7注册问题

Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule和IIS7注册问题
EN

Stack Overflow用户
提问于 2009-09-30 15:06:31
回答 3查看 6.2K关注 0票数 5

更新:

在温莎2.5中,程序集名称是Castle.Windsor而不是Castle.MicroKernel

我正在尝试将一个ASP.NET MVC应用程序部署到IIS7上,并得到了以下错误:

看来您忘记注册http模块Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule,将'‘添加到您的web.config上的部分

我的httpModules包含:

代码语言:javascript
复制
<httpModules>
   <add name="PerRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.MicroKernel"/>
</httpModules>

system.webServer处理程序部分包含

代码语言:javascript
复制
<handlers>
  <remove name="PerRequestLifestyle"/>
  <add name="PerRequestLifestyle" preCondition="managedHandler" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.Microkernel" verb="*" path="*.castle" />
</handlers>

当错误丢失时,我添加了verb="*" path="*.castle"部件。不确定他们的价值观是否正确。

有人知道这里有什么问题吗?

EN

回答 3

Stack Overflow用户

发布于 2010-03-09 13:16:22

您可以通过在configuration/system.webServer/modules而不是configuration/system.web/httpModules.中注册HTTP模块来解决这个问题

票数 6
EN

Stack Overflow用户

发布于 2013-01-25 13:54:51

我的问题是,我在Application_Start中引导容器,在ASP.NET中的那个点没有初始化模块,所以当您尝试注册/使用PerWebRequest生活方式时,它会抛出这个异常,因为它检测到模块没有初始化。

最后,我使用了来自城堡龙骨城堡龙骨,它提供了HybridPerWebRequestTransient的生活方式,如果目前还没有初始化,就会使用短暂的生活方式。

您只需下载库(因为zip是好的),打开解决方案并编译它,获取生成的DLL并在项目中引用它。

如果您使用的Castle.Windsor版本超过3.0,您必须删除对它的当前引用,并将引用添加到您正在使用的版本(我当时使用的是3.1,没有任何问题)。

这是使用生活方式的代码:.LifeStyle.HybridPerWebRequestTransient()

票数 4
EN

Stack Overflow用户

发布于 2010-11-12 07:28:05

我花了一些时间为这个问题找到解决方案,但我所要做的就是更新web.config中引用的dll .

使用Castle.Core和温莎2.5.1..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1498722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档