gpt4 book ai didi

asp.net-mvc - 在 IIS7 集成模式下获取 NullReferenceException

转载 作者:行者123 更新时间:2023-12-02 09:39:17 25 4
gpt4 key购买 nike

我有一个运行 .NET 4.0 的应用程序

  • MVC 3.0
  • 微软服务定位器1.0
  • 结构图2.6.2
  • StructureMap 适配器 1.1.0.2
  • NHibernate 3.1.0.4000
  • Log4Net 1.2.10

应用程序在开发服务器、IIS6和IIS7经典模式下运行良好。在 IIS7 集成模式下运行相同的应用程序会在 Global.asax Application_Start 之后出现 NullReferenceException。

堆栈跟踪是:

[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.PipelineStepManager.ResumeSteps(Exception error) +1116
System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +89
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +189

附加的调试器不会因异常而中断。但页面显示死亡黄页。

知道我可以在哪里查找或 Hook 来修复错误吗?

最佳答案

根据Error when deploying ASP.NET MVC NHibernate app to IIS7还有很多其他posts如果应用程序运行在集成模式下,则不再支持在Application_Start中初始化NHibernate。我没有找到这种行为的真正原因。可能是Darins的回答是原因,但我发现NHibernate初始化代码中没有访问HttpContext.Current。

解决方法是:

  • use a module用于初始化 nhibernate
  • 在Application_BeginRequest中初始化nhibernate,但断言它只初始化一次

关于asp.net-mvc - 在 IIS7 集成模式下获取 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com