我在这样的动作上使用 OutputCache:
[OutputCache(Duration = 14400, VaryByParam = "none")]
public ContentResult Catalog()
{
return ...;
}
我在 Global.asax.cs 中的 RegisterRoutes 函数包含路由:
routes.MapRoute(
"XMLRoute", // Route name
"{site}/catalog.xml", // URL with parameters
new { controller = "Home", action = "Catalog" } // Parameter defaults
);
路线映射网址如下:
- example.com/site1/catalog.xml
- example.com/site2/catalog.xml
- example.com/whatever/catalog.xml
到目录操作。
我相信预期的结果将是在传递每个参数的第一个请求后返回静态内容,但内容未正确缓存。我应该修改 Catalog 操作以使用参数,然后指定 VarybyParam = "none" 并在 MapRoute 函数中添加一个带有 UrlParameter.Optional 的参数,还是这里还有其他事情发生?