日期:2014-05-17  浏览次数:20358 次

求助ASP.NET MVC3中方法缓存问题
写了一个获取统计代码的方法,在前面设置了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秒的效果。

是不是我这种使用方法存在问题?求解。

------解决方案--------------------
局部缓存做成用户控件调用吧