c# - appfabric 缓存清除所有对象

标签 c# appfabric

是否有建议的方法来清除 DataCache 中的所有对象?

我可以使用 DataCache.GetObjectsByAllTags 方法,但这需要一个区域,我无法使用该区域,因为我需要在多个缓存主机之间共享对象。

最佳答案

DataCache 对象上没有简单的 .Clear(),但使用以下将清除 Appfabric 主机上的缓存:

/* 假设 DataCache 是正确设置的 Microsoft.ApplicationServer.Caching.Client.DataCache 对象 */

public void Clear()
{
   Parallel.ForEach(DataCache.GetSystemRegions(), region =>
   {
      DataCache.ClearRegion(region);
      var sysRegion = DataCache.GetSystemRegionName(region);
      DataCache.ClearRegion(sysRegion);
   });
}

问题是,如果您在配置中设置了 DataCacheLocalCacheProperties,您仍然会从本地副本中提取项目,直到超时或出现通知。我仍在寻找一种方法来立即使本地副本中的项目失效。

关于c# - appfabric 缓存清除所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412592/

相关文章:

c# - 在一个 Controller 中有很多方法 VS 在多个 Controller 中有很多方法

c# - 失去焦点时关闭弹出窗口

c# - 如何在 HubConnection SignalR Core 中发送参数/查询

c# - 电源外壳 : Import-Module

c# - 如何关闭 C# ListView 中的行选择——特别是虚线轮廓!

c# - 无法访问列表 <> 中的列表 <>

c# - OptimisticConcurrencyException:使用共享的AppFabric缓存和相同的数据库的多个基于EF的应用程序

file - zip 文件和图像可以存储在 AppFabric 缓存中吗

wcf - Windows 服务总线 1.0、Appfabric、Netmessaging 绑定(bind)失败