Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.Net web app中,MemoryCache何时被清除?_C#_Asp.net_.net_Caching_Memorycache - Fatal编程技术网

C# 在.Net web app中,MemoryCache何时被清除?

C# 在.Net web app中,MemoryCache何时被清除?,c#,asp.net,.net,caching,memorycache,C#,Asp.net,.net,Caching,Memorycache,我在MVC和Web API应用程序中使用MemoryCache来缓存对象。我正在初始化Global.asax.cs中的缓存 即: 但是,我想知道这个缓存什么时候被释放?当我重新启动我的应用程序时?这当然是假设我没有耗尽内存。如果您的问题是cacheItem何时被释放-这将取决于cachePolicy 然而,如果您的问题是MemoryCache对象何时被释放。答案是决不,因为它被内部计时器回调延迟。您必须处理该对象才能释放它 MemoryCache是一个非常繁重的对象,您应该只在真正需要时创建自己

我在MVC和Web API应用程序中使用MemoryCache来缓存对象。我正在初始化Global.asax.cs中的缓存

即:


但是,我想知道这个缓存什么时候被释放?当我重新启动我的应用程序时?这当然是假设我没有耗尽内存。

如果您的问题是
cacheItem
何时被释放-这将取决于
cachePolicy

然而,如果您的问题是
MemoryCache
对象何时被释放。答案是
决不
,因为它被内部计时器回调延迟。您必须处理该对象才能释放它


MemoryCache
是一个非常繁重的对象,您应该只在真正需要时创建自己的实例。一般情况下,使用
MemoryCache.Default
实例。

简短回答:需要时。@HenkHolterman详细回答是什么?:)你是如何初始化缓存的?@PrestonGuillot更新了我的问题。我只是实例化MemoryCache,并向其中添加新项。
MemoryCache c = new MemoryCache(cacheNamespace);
var cacheItem = new CacheItem(key, value);
c.Add(cacheItem, cachePolicy);