2011-08-10 86 views
13

既然我已經改變了我的主機到ASP.NET 4.0 Web窗體和IIS7集成模式下,我的網站通常有以下錯誤:的NullReferenceException在PipelineStepManager.ResumeSteps

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

然而,該網站工作正常。我該如何解決這個問題?

+0

你是否設法解決這個問題? – jkyadav

+0

任何人都可以解決這個問題嗎?我看到: System.NullReferenceException:未將對象引用設置爲對象的實例。在 System.Web.HttpApplication.PipelineStepManager.ResumeSteps(異常錯誤)在 System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult的AR)在 System.Threading.Tasks.Task.Execute() ---的內端異常堆棧跟蹤--- – dmarlow

回答

5

你的應用程序中是否有自定義的HttpModule?當我有和HttpModule在Init上添加應用程序事件時,發生了這種情況。嘗試禁用您的自定義HttpModule並查看您的應用程序是否已經過去了這一點。如果是這樣,那麼這是因爲HttpModule在.Net 3.5和.Net 4.0中的工作方式有所不同。

+0

感謝您的回答Gisli,我已經從我的項目中刪除了所有的HttpModule,但它仍然沒有解決。最後,我將IIS從Integrated更改爲Classic,並將路由URL更改爲具有擴展名(.aspx),現在它可以正常工作。 – Sambo

+4

你是否在做類似於此的事情:http://forums.asp.net/t/1327102.aspx/1? (在應用程序啓動時以編程方式設置應用程序級事件,而不是在應用程序類中創建名爲Application_ 的函數) – gislikonrad

8

正如Gisli Konrao在評論中所說,這是由於您在ASP.NET MVC 4應用程序中連接了自定義事件處理程序。

就我而言,我有:

this.BeginRequest += new EventHandler(MvcApplication_BeginRequest); 

註釋掉該語句後,問題得到了解決(ASP.NET線向上的背景下這些事件,所以才確定它將使工作)。

+0

使用Windows身份驗證時,在我的情況下添加以下內容: 'this.AuthenticateRequest + = vcApplication_AuthenticateRequest;' – Legends

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

空裁判是永遠正確的。我們不應該看到MS API的空引用。

1

將代碼用於將事件和初始化事件連接到HttpApplication類的重載Init()方法中。這應該是在所有必要的ASP.NET事物設置完成之後纔會觸發的。

+0

這不提供這個問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/19021373) – Steve

+0

我確實給了它一個upvote,因爲它解決了我的問題... –

相關問題