時,IIS處理請求的時間要長得多在我的ASP.NET MVC3應用程序中,我有兩個非常簡單的控制器操作,其中一個返回ContentResult
,帶有一小段硬編碼文本和另一個一個返回代碼爲403的HttpStatusCodeResult
。當請求來自另一臺計算機並返回HTTP 200和文本
應用程序已部署,然後一組請求發送到該控制器所服務的路由從同一臺計算機執行多次,然後將相同的請求包發送到這些路由另一臺電腦。沒有配置更改之間執行,應用程序池不重新啓動 - 沒有那樣。
我查看IIS日誌,看到time-taken
(請求在Web服務器內部花費的時間,不包括任何網絡延遲,DNS查找等),根據請求是從同一臺計算機發送還是不同,不是也取決於哪些行爲被調用。如果它來自同一臺計算機time-taken
對於這兩個操作都是大約15毫秒。如果從另一臺計算機的time-taken
是行動大約260毫秒返回ContentResult
和大約100毫秒的操作返回403
顯然有任何內容是否會在迴應主體返回的依賴關係,當請求來自另一臺計算機。
我的代碼沒有任何明確的邏輯改變請求的處理方式,這取決於它們的來源和結果。
什麼可能會導致時間差異?
正在使用Windows身份驗證? –
@Damien_The_Unbeliever:你的意思是NTLM?不,web.config只啓用表單身份驗證,但我不確定它在某些時候沒有啓動。 – sharptooth
@Damien_The_Unbeliever:我嘗試通過編輯'web.config'來移除'WindowsAuthentication'模塊 - 時序沒有變化。 – sharptooth