微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在SqlDataSource中清除缓存

我需要手动清除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;

原文地址:https://www.jb51.cc/csharp/93907.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐