我們正在使用ASP.NET 3和.NET 4以及一些不同的IIS(7,8和Express版本)。爲什麼我們的請求需要很長時間才能返回?
所有到服務器的請求都需要一個長的時間才能返回,大約10秒左右,無論請求什麼。我們可以看到(通過附加調試器)即時調用控制器方法並快速返回(毫秒)。
我們還可以看到,當GET完成時,瀏覽器快速完成渲染等(毫秒)。所以延遲在例如'返回查看(無論)'和GET完成。這對我來說就像View編譯 - 但它發生在每個請求上,所以不應該在第一個請求之後編譯View?
我們可以使用View預編譯,但不幸的是啓用它會導致很多錯誤,我們並不想重建整個Web項目,以使其工作。正如我上面所說的,一個視圖應該在首次使用時編譯,所以預編譯應該只對使用特定視圖的第一個請求有幫助。
任何想法如何診斷,並找出什麼是真正花費時間?
編輯:取出每個頁面上呈現的部分視圖之一後,突然間一切都會更快。現在調查該視圖。
您使用過.net分析器工具嗎? – asawyer
如果您啓動IE並點擊F12並轉到網絡選項卡,那麼它會在每個請求中顯示多長時間? – Nate
你看過客戶網絡配置文件嗎? Chrome有一個很好的工具,點擊F12,點擊「網絡」並加載頁面,看看有什麼需要這麼長時間。 –