IIS7 & Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule registering problems

强颜欢笑 提交于 2019-12-05 10:38:00

You can solve the problem by registering the HTTP module in configuration/system.webServer/modules instead of configuration/system.web/httpModules.

kzfabi

My problem was that I was bootstraping the container in Application_Start, Modules are not initialized at that point in ASP.NET so when you try to register/use PerWebRequest Lifestyle it throws that Exception because it detects that the module was not initialized.

I ended up using this library from Castle Contrib which provides the HybridPerWebRequestTransient Lifestyle which if not initialized at the moment uses the Transient Lifestyle.

You just have to download the library (as zip is ok) open the Solution and compile it, grab the generated DLL and reference it in your project.

If you are using Castle.Windsor version over 3.0 you will have to remove current reference to it and add the reference to the version you are using (I was using 3.1 and did not have any problems).

This is the code to use the Lifestyle: .LifeStyle.HybridPerWebRequestTransient()

Took me some time to find a solution for this but all I had to was update the dll being referneced in the web.config...

Using Castle.Core and Windsor 2.5.1...

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!