相关疑难解决方法(0)

如何清除MemoryCache?

我使用MemoryCache类创建了一个缓存.我添加了一些项目,但是当我需要重新加载缓存时,我想首先清除它.最快的方法是什么?我应该遍历所有项目并一次删除一个项目还是有更好的方法?

c# memory caching .net-4.0 memorycache

91
推荐指数
6
解决办法
8万
查看次数

如何清除System.Runtime.Caching.MemoryCache

我使用a System.Runtime.Caching.MemoryCache来保存永不过期的物品.但是,有时我需要能够清除整个缓存.我怎么做?

在这里问了一个类似的问题,我是否可以枚举缓存,但这是一个坏主意,因为它需要在枚举期间进行同步.

我尝试过使用.Trim(100)但根本不起作用.

我已经尝试通过Linq获取所有密钥的列表,但后来我回到了我开始的地方,因为一个接一个地逐出项目很容易导致竞争条件.

我想存储所有的密钥,然后.Remove(key)为每个密钥发出一个,但是那里也有一个隐含的竞争条件,所以我需要锁定对密钥列表的访问,然后事情再次变得混乱.

然后我认为我应该可以调用.Dispose()整个缓存,但我不确定这是否是最佳方法,因为它的实现方式.

使用ChangeMonitors不是我的设计的选项,并且对于这样一个微不足道的要求是不必要的.

那么,我该如何彻底清除缓存呢?

c# asp.net caching .net-4.0

38
推荐指数
4
解决办法
4万
查看次数

如何从ASP.NET核心中的IMemoryCache中删除所有对象(重置)

我可以找到一种remove方法来IMemoryCache从其键中删除对象.有没有办法重置整个缓存并删除所有对象?

编辑:

如何清除MemoryCache? 链接中提供的Dispose方法在asp.net 5中给出了一个例外.ObjectDisposedException: Cannot access a disposed object. Object name: 'Microsoft.Extensions.Caching.Memory.MemoryCache'.

c# asp.net-core-mvc asp.net-core

21
推荐指数
5
解决办法
1万
查看次数

在本地主机上使用 ASP.NET Web 应用程序时如何清除 razor 文件的缓存

我们有一个使用 .NET Framework 4.6 的 ASP.NET 网站,我们使用 Rider 和 Visual Studio 来处理它。

每隔一段时间,我就会发现有人获取旧的 razor 文件,但仍然尝试查找不再存在的函数/引用。据我了解,这些 razor 文件已被缓存,我们需要清除缓存。

所以,我们通常会进行以下步骤

  1. 清理%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\\ComponentModelCache
  2. 清理 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root
  3. 如果适用,请从项目文件夹结构中清除 \obj 和 \bin。

这些步骤的某些组合通常适用于大多数人,但当它不起作用时,我们必须手动转到每个 razor 文件(抱怨错误)并添加一个空格并保存它以强制清除缓存。有时是单个文件或 2 个文件,但有时是 10 个文件。

因此,想知道每当我们再次发现此问题时清除剃刀文件缓存的正确/推荐方法是什么。

c# asp.net

5
推荐指数
1
解决办法
3099
查看次数