PipelineStepManager.ResumeSteps中的NullReferenceException

Sam*_*mbo 14 asp.net iis-7

由于我已将主机更改为ASP.NET 4.0 Web窗体和IIS7集成模式,因此我的网站通常会出现以下错误:

[NullReferenceException:对象引用未设置为对象的实例.] System.Web.PipelineStepManager.ResumeSteps(异常错误)+197
System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context,AsyncCallback cb)+89
System.Web.HttpRuntime. ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+189

但是,该网站运作正常.我该如何解决这个问题?

NKC*_*CSS 9

正如Gisli Konrao在评论中所说,这是因为您在ASP.NET MVC 4应用程序中连接了一个自定义事件处理程序.

在我的情况下,我有:

this.BeginRequest += new EventHandler(MvcApplication_BeginRequest);
Run Code Online (Sandbox Code Playgroud)

在评论出这个陈述之后,问题就解决了(ASP.NET将这些事件连接到后台,因此只需定义它就可以使它工作).


Luk*_*ett 7

我通过将BeginRequest事件观察器连接代码移动到Global.asax(MvcApplication)构造函数中来解决这个问题.

我还提交了另一个连接错误,因为类似的关闭错误是不可重现的,但这个错误似乎遍布网络论坛.

https://connect.microsoft.com/VisualStudio/feedback/details/788481/iis-express-with-vs2012-null-ref-when-attaching-handler-to-httpapplication-beginrequest

null ref永远不对.我们不应该从MS API看到空引用.


小智 7

在HttpApplication类的重写的Init()方法中放置用于连接事件和初始化内容的代码.在基本的ASP.NET事物全部设置完毕之后,应该触发.


gis*_*rad 5

您的应用程序中是否有任何自定义HttpModules?当我和HttpModule在Init上添加应用程序事件时,这发生在我身上.尝试禁用自定义HttpModule,看看你的应用程序是否超过了这一点.如果是这样,那是因为HttpModule在.Net 3.5和.Net 4.0中的工作方式不同.

  • 你正在做类似的事情:http://forums.asp.net/t/1327102.aspx/1?(在Application Start上以编程方式设置应用程序级事件,而不是仅在Application类中创建名为Application_ <EventName>的函数) (4认同)