【发布时间】:2012-07-17 18:39:32
【问题描述】:
我正在尝试使用本文中描述的 IoC 实现 MembershipProvider:http://bugsquash.blogspot.cz/2010/11/windsor-managed-membershipproviders.html
但是我在实现 IContainerAccessor 的 MvcApplication 类方面存在一些问题。但是当我尝试通过 MyMembershipProvider 中的代码访问容器时,容器为空引用。
(HttpContext.Current.ApplicationInstance as IContainerAccessor).Container
我发现 MvcApplication 的第二个实例没有调用 Application_Start() 方法。因此没有实例被设置为 Container 属性。
为什么会有 MvcApplication 类的第二个实例?我以为只有一个实例。那Application_Start()怎么没有被调用呢?
我正在使用 .net4 和 mvc3。
【问题讨论】:
-
您的容器可能不是静态的。见hammett.castleproject.org/?p=233
-
如果只有一个 MvcApplication 类的实例,我相信它不应该是静态的。
-
我找到了有关 HttpApplication 类实例的信息,你是对的。它桅杆是静态的。谢谢。
标签: asp.net-mvc castle-windsor