Episerver Output Cache - реализация - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь следовать некоторым инструкциям, которые я нашел в Интернете, чтобы реализовать кэширование вывода для episerver.

В моем файле web.config я настроил следующее:

   <caching>
      <outputCache enableOutputCache="true">
      </outputCache>
      <outputCacheSettings>
        <outputCacheProfiles>
          <add name="ClientResourceCache" enabled="true" duration="3600" varyByParam="*" varyByContentEncoding="gzip;deflate" />
        </outputCacheProfiles>
      </outputCacheSettings>
    </caching>

КакВ тесте я выбрал StartPageController.cs и добавил тег [ContentOutputCache] примерно так:

    [ContentOutputCache]
    public class StartPageController : PageControllerBase<StartPage>
    {
        public ActionResult Index(StartPage currentPage)
        {
            var model = PageViewModel.Create(currentPage);

            if (SiteDefinition.Current.StartPage.CompareToIgnoreWorkID(currentPage.ContentLink)) 
            {

                var editHints = ViewData.GetEditHints<PageViewModel<StartPage>, StartPage>();
                editHints.AddConnection(m => m.Layout.Logotype, p => p.SiteLogotype);
                editHints.AddConnection(m => m.Layout.Footer, p => p.FooterBlock);
            }

            return View(model);
        }
    }
}

Затем в инструкциях говорится:

В какой-то момент загрузки страницы вам нужнодобавить следующий код:

public void SetResposneHeaders () {HttpContext.Current.Response.Cache.SetExpires (DateTime.Now.AddMinutes (2.0));HttpContext.Current.Response.Cache.SetCacheability (HttpCacheability.Public);HttpContext.Current.Response.Cache.SetValidUntilExpires (истина);}

Из-за моего ограниченного знания .NET, MVC и т. Д. Эта часть меня смущает, так как я не уверен, в каком файле ее разместить и где?Это идет в StartPageController.cs?Или где-то еще?

Буду признателен за любые указатели.

Инструкции, которым я пытаюсь следовать: здесь .

...