在MVC3应用程序中,我有自定义的IPrincipal实现。
我想在web.config中注册它,然后通过Autofac将它注入构造函数。
Autofac XML-configuration具有属性“instance-scope”,但它不支持“per-http-request”。
任何想法如何在web.config中注册每个http范围的组件?
我已经尝试了每个依赖项,单实例或每个生命周期范围的不同组合以及所有权外部,但结果非常错误。
答案 0 :(得分:3)
来自Autofac团队的Nicholas Blumhardt告诉我应该使用每个生命周期范围。
在ASP.NET下运行时,实际上相当于每个HTTP请求。
答案 1 :(得分:1)
据我所知,从源代码可以看出,不支持在XML配置中注册每个http请求。如您所述,仅允许三个instance-scope
值(每个依赖项,单个实例和每个生命周期范围)。
此外,查看per-http-request
范围界定的工作方式,它使用InstancePerMatchingLifetimeScope
注册调用和httpRequest
密钥。同样,没有配置“匹配生命周期范围”的XML配置方式。
可行的方法是通过代码进行配置。