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