C# · 12月 29, 2021

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;