Episerver输出缓存-实施

时间:2018-11-21 09:41:23

标签: asp.net-mvc outputcache episerver

我试图遵循我在网上找到的一些说明,以便为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);
        }
    }
}

然后说明说:

  

在页面加载的某个时刻,您需要添加以下代码:

     

公共无效SetResposneHeaders()           {               HttpContext.Current.Response.Cache.SetExpires(DateTime.Now.AddMinutes(2.0));               HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.Public);               HttpContext.Current.Response.Cache.SetValidUntilExpires(true);           }

由于我对.NET,MVC等知识有限,因此这一部分使我感到困惑,因为我不确定将其放置在哪个文件中以及在哪里?这是否进入StartPageController.cs?或者别的地方?

任何指针将不胜感激。

我要遵循的说明是here

0 个答案:

没有答案