1

我正在查找將處理我的請求的標識處理程序。 我想知道請求是否要求靜態資源(即css,js或圖像文件)。 在PreRequestHandlerExecute事件上檢查HttpContext.Request時,我發現處理程序和currentHandler變量對於靜態資源以及對於任何其他自定義處理程序或aspx頁我都有handler和currentHandler變量。ASP.NET生命週期,PreRequestHandlerExecute事件

我的問題是:是的是不同的處理程序將處理請求或不好的地方呢? 我不想通過從system.web/httpHandlers中獲取處理程序文件擴展名,因爲我不想使用system.web/httpHandlers只是system.webServer/handlers。而且我不想使用Microsoft.Web.Administration命名空間,因爲這會使我修改所有服務器上的配置。

回答

1

忘記了我如何解決它的更新。我實際上是從PostMapRequestHandler事件的自定義處理程序中刪除原生的。如果您的請求將由本機處理程序處理,而不是處理程序,並且HttpContext.Request的currentHandler變量將爲空。同樣,通過將runAllManagedModulesForAllRequests設置爲false將由本地處理程序處理的請求甚至需要引發PostMapRequestHandler事件。希望這可以幫助某人。