我有一個ASP.NET MVC應用程序,它使用區域來傳遞不同的功能,具體取決於使用哪個URL。例如在MVC中使用OutputCache時,sub.domain.com給了我www.domain.com緩存頁面
- www.domain.com - 網站區
- app.domain.com - 應用領域
- * .domain.com - 客戶區域
所以,問題是,取決於傳入的網址,我們會將您路由到不同的MVC區域。這一切都使用路由與一些擴展和偉大的工作。
現在,如果我啓用對我的www默認路由的Index()Action的outputcache,下次我點擊app.domain.com時,我得到了www域的緩存版本。我使用fiddler進行了檢查,響應是200 OK,所以它肯定會觸發服務器。但是,我的自定義路由中的日誌記錄告訴我,它沒有打到該代碼。
那麼,OutputCache不能基於uri工作,而是使用其他一些算法?
感謝
感謝您的回覆。它被設置爲默認值,假設它被設置爲服務器。我仍然認爲這是不正確的,因爲它正在返回不同動作的緩存版本(sub.domain.com返回www.domain.com緩存頁面)。 – James 2012-03-10 08:41:24
@詹姆斯,的確,這看起來不正確。您提到了路由的一些自定義代碼。你能證明這是如何完成的嗎? – 2012-03-10 09:33:51
我使用DomainRoutes http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx來限制路由到某些域。這些路線在每個區域註冊中註冊 – James 2012-03-12 10:42:25