我正在調試在.NET 4.0(Windows 7)上運行的ASP.NET MVC 2應用程序,當前在Cassini中,Visual Studio調試Web服務器。Cassini(VS WebDev)在不同的線程上執行BeginRequest和EndRequest
所有運行良好,當我突然在我的Application.EndRequest處理程序中有異常。在調查了這個問題之後,我發現原因是Cassini在與BeginRequest不同的線程上調用EndRequest(然後,在BeginRequest中設置並在EndRequest處理程序中使用的ThreadStatic變量爲null,因爲在此線程上,BeginRequest永遠不會所謂的)。
卡西尼在不同線程上執行BeginRequest和EndRequest的原因是什麼?
我知道原因可能是'Async'Page指令(請參閱Do ASP.NET Requests always BeginRequest and EndRequest on the same thread?,但我的Page指令中沒有'Async'屬性)。
必須有另一個原因。
謝謝!