我複製你的代碼,我測試了我的機器上,我配置了RouteConfig爲以下
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "aboutRoute",
url: "{controller}/{action}/{userName}/{cityCode}",
defaults: new { controller = "Home", action = "About", userName = UrlParameter.Optional, cityCode = UrlParameter.Optional }
);
}
}
和我面臨同樣的問題,我將解釋這一點:
OutputCache
取決於URL,並且您提供的示例實際上是兩個不同的 URL,雖然它們是ar e會產生相同的結果。
因此,請嘗試再次請求URL http://localhost:52121/LabOne/MvcCache/About/admin/010。並且您將看到OutputCache
正在工作,並且MVC將從緩存中獲得結果,因爲OutputCache
已在上一次緩存該URL。
UPDATE
根據這個問題Using outputcache in MVC和接受的答案,高速緩存與URL的工作,並沒有與MVC路由系統的相關性。
你能否把你的路線配置放在這裏 –