MvcApplication 的第二个实例

Posted

技术标签:

【中文标题】MvcApplication 的第二个实例【英文标题】:Second instance of MvcApplication 【发布时间】: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

我发现 没有调用 Application_Start() 方法。因此没有实例被设置为 Container 属性。

为什么会有 MvcApplication 类的第二个实例?我以为只有一个实例。那Application_Start()怎么没有被调用呢?

我正在使用 .net4 和 mvc3。

【问题讨论】:

您的容器可能不是静态的。见hammett.castleproject.org/?p=233 如果只有一个 MvcApplication 类的实例,我相信它不应该是静态的。 我找到了有关 HttpApplication 类实例的信息,你是对的。它桅杆是静态的。谢谢。 【参考方案1】:

我终于找到了答案。我的问题和这个有关Application_Start ASP.NET

关于 HttpApplication 类实例的信息在这篇博文http://blog.andreloker.de/post/2008/05/HttpApplication-instances.aspx 中,这是我一直在寻找的答案。

【讨论】:

以上是关于MvcApplication 的第二个实例的主要内容,如果未能解决你的问题,请参考以下文章

使用参数启动 c# 程序的第二个实例,程序的第一个实例使用该参数

运行SDL程序的第二个实例会导致系统范围冻结

CKEditor的第二个实例没有保存到db | Ruby on Rails

C# 合并重复列表项并将它们的第二个值求和(2D 对象列表)

如何在多个实例的python上找到特定字符的索引?

链表反转