2013-01-01 40 views
5

我有一個ASP.NET 4.5 MVC應用程序。我不想設置RAMMFAR(runAllManagedModulesForAllRequests),因爲那樣會不必要地通過ASP.NET管道發送對靜態資源的請求;但是我確實希望所有以/Download/路徑開頭的請求都通過ASP.NET路由管道運行,而不管擴展名如何。這樣我可以將它們路由到控制器並提供動態生成的資源。只爲某些路徑設置RAMMFAR

這怎麼辦?我無法訪問IIS設置,但希望有一種方法可以通過web.config執行此操作。

回答

1

RAMMFAR設置是每個應用程序。如果希望網站的不同部分具有不同的設置,則必須創建單獨的IIS應用程序,但不幸的是,您說這不適用於您。

我用兩個有兩個方面的筆記,但:

  1. 你確定你甚至需要RAMMFAR?我認爲當使用IIS 7.5和更新版本時,很少需要它,因爲IIS和ASP.NET幾乎可以正確處理託管/本機請求。
  2. 你是否確定這是一個實際問題,始終啓用它?毫無疑問,RAMMFAR會讓事情變得更慢,但問題是它是否會在您的應用中產生可衡量的影響。即使靜態文件沒有經過一些託管代碼,文件的最終處理也會以本機代碼處理。因此,「通過」ASP.NET管理的管道有一些額外的工作,但一旦完成,它就回到本地IIS/Windows代碼。