Я использую OutputCache для таких действий:
[OutputCache(Duration = 14400, VaryByParam = "none")]
public ContentResult Catalog()
{
return ...;
}
и моя функция RegisterRoutes в Global.asax.cs содержит маршрут:
routes.MapRoute(
"XMLRoute", // Route name
"{site}/catalog.xml", // URL with parameters
new { controller = "Home", action = "Catalog" } // Parameter defaults
);
Карты маршрутов URL, такие как:
- example.com / site1 / catalog.xml
- example.com / site2 / catalog.xml
- example.com / все / catalog.xml
к действию каталога.
Я полагаю, что ожидаемым результатом будет возвращение статического содержимого после первого запроса для каждого переданного параметра, но содержимое не кэшируется должным образом.
Должен ли я изменить действие Каталога, чтобы использовать параметр, а затем указать VarybyParam = "none" и добавить параметр с UrlParameter.Optional в функции MapRoute или здесь что-то еще происходит?