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