Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Альтернативу определения параметров в атрибуте OutputCache представляет использование профилей кэширования. Определим свой профиль. Для этого перейдем к файлу
конфигурации web.config и добавим в пределах узла system.web
следующий узел caching
:
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="webpages:Version" value="3.0.0.0"/> <add key="webpages:Enabled" value="false"/> <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings> <system.web> <compilation debug="true" targetFramework="4.5"/> <httpRuntime targetFramework="4.5"/> <caching> <outputCacheSettings> <outputCacheProfiles> <add name="cacheProfile1" duration="30" location="Any" varyByCustom="browser"/> </outputCacheProfiles> </outputCacheSettings> </caching> </system.web> <!--остальное содержимое файла--> </configuration>
Узел caching
определяет конфигурации профилей кэширования. Во вложенном узле outputCacheProfiles
можно задать набор профилей.
В данном случае задан только один профиль, который через атрибуты определяет все те же параметры кэширования, которые применяются в атрибуте
OutputCache.
И чтобы применить профиль, изменим атрибут OutputCache следующим образом:
public class HomeController : Controller { static int x = 9; [OutputCache(CacheProfile="cacheProfile1")] public string Index(string title, int? id) { x++; return x.ToString(); } }
Параметр CacheProfile
указывает на профиль, который определен в файле web.config.