【发布时间】:2012-04-21 12:07:30
【问题描述】:
MVC 3 Web 应用程序中的 MvcApplication 是单例吗?为什么我找到了 3 个实例?
我的步骤:(VS2010 SP1 + ASP.NET MVC 3 工具更新)
- 创建默认 Internet MVC 3 应用程序(带有帐户示例)
- 在 global.asax 中添加 MvcApplication() 构造函数,并在其中设置断点
- 按 F5 进行调试
我发现构造函数被调用了 3 次!
最好的问候,
扎克@Shine
===编辑===
更正:
为 1 个网络应用找到 2 个实例,而不是 3 个。 经过仔细检查,我发现我的解决方案包含 2 个 Web 应用程序,删除其中一个后,我可以找到左侧应用程序的 2 个实例。
这是日志(数字是 MvcApplication 实例的哈希码)
MvcApplication(): 41516761
Application_Start(): 41516761
MvcApplication(): 56552081
Application_AuthenticateRequest(): 56552081
Application_AuthenticateRequest(): 56552081
Application_AuthenticateRequest(): 56552081
MvcApplication_Disposed(): 56552081
Application_End(): 41516761
如图所示,一个实例用于处理开始、结束事件,另一个用于处理请求。
【问题讨论】:
标签: asp.net asp.net-mvc-3