写了一个获取统计代码的方法,在前面设置了OutputCache级存,时间为600秒:
- C# code
/// <summary> /// 取站点统计代码 /// </summary> /// <returns></returns> [OutputCache(Duration=600)] public string GetBlogTongji() { var tongji = db.BlogConfigs.First().Tongji; return tongji; }
因为这个统计代码是所有页面都要有,所以我直接在_Layout.cshtml中开头使用如下代码
- C# code
@using Blog.EntitiesRepositories;//这是方法所在类的文件夹@{ BlogConfigInfo bf = new BlogConfigInfo();}
然后在显示统计代码的地方用
- C# code
@MvcHtmlString.Create(bf.GetBlogTongji())
然后我在浏览页面后,在后台修改或者直接在数据库中修改代码,可是在前台页面并没有起到缓存600秒的效果。
是不是我这种使用方法存在问题?求解。
------解决方案--------------------------------------------------------
局部缓存做成用户控件调用吧