Мы используем довольно большой сайт с ASP.NET MVC 3 и AppFabric в качестве распределенного кэширования. Мы внедрили пользовательский OutputCacheAdapter для использования нашего кластера AppFabric.ASP.NET MVC удаляет выходнойcache для каждого действия
Мы видим, что ASP.NET вызывает метод OutputCacheProvider.Get() для каждого действия, даже если это действие НЕ украшено атрибутом @OutputCacheAttribute.
Это не проблема, если вы используете выходной файл outputcacheprovider по умолчанию, но это когда вы используете outputcacheprovider, который находится на отдельных машинах.
Да, это звучит как хорошее объяснение. На самом деле это не так уж и много, хотя и принять штраф за производительность, вернуться к умолчанию OutputCacheProvider или предоставить что-то вроде черного или белого списка для URLS. – TheNameless
@ TheNameless Я не сделал это сам, но вы не можете получить параметры маршрута [как-то] (http://www.scottschluer.com/creating-a-routedata-instance-from-a-url/), а затем использовать отражение для изучения атрибутов контроллера/действия? Это не идеальный вариант, но, вероятно, еще быстрее, чем сеть в оба конца. – Basic