加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在SqlDataSource中清除缓存

发布时间:2020-12-15 03:43:55 所属栏目:百科 来源:网络整理
导读:我需要手动清除SqlDataSource缓存启用缓存.我已经尝试设置EnableChaching = false,CacheDuration = 0(以及= 1),并且似乎没有过期缓存中的内容,尽管它们似乎阻止新的SELECT被缓存. 如何手动过期该缓存? 谢谢. 解决方法 我今天刚开始研究这个帖子,看到这个最
我需要手动清除SqlDataSource缓存启用缓存.我已经尝试设置EnableChaching = false,CacheDuration = 0(以及= 1),并且似乎没有过期缓存中的内容,尽管它们似乎阻止新的SELECT被缓存.

如何手动过期该缓存?

谢谢.

解决方法

我今天刚开始研究这个帖子,看到这个最好的解决方案:

Simple way to invalidate SqlDataSource cache programmatically

<asp:SqlDataSource ID="x" EnableCaching="True" CacheKeyDependency="MyCacheDependency"/>

protected void Page_Load(object sender,EventArgs e)
{ // Or somewhere else before the DataBind() takes place
  if (!IsPostBack)
  {
      //prime initial cache key value if never initialized
      if (Cache["MyCacheDependency"] == null)
      {
        Cache["MyCacheDependency"] = DateTime.Now;
      }
  }
}


// Evict cache items with an update in dependent cache:
Cache["MyCacheDependency"] = DateTime.Now;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读