Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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# 如何检查MemoryCache中是否存在密钥_C#_.net_Caching - Fatal编程技术网

C# 如何检查MemoryCache中是否存在密钥

C# 如何检查MemoryCache中是否存在密钥,c#,.net,caching,C#,.net,Caching,我需要检查MemoryCache中是否存在密钥。但是,没有密钥集合或类似的东西可用 如果存在某个密钥,我不需要与该密钥关联的对象,只需要一个true或false 我知道我可以尝试使用.Get(键),但我不需要该对象。这是唯一的方法吗?使用bool-Contains(字符串键、字符串区域名)方法 MSDN: 确定缓存中是否存在缓存项。 返回值类型:System.Boolean true(如果缓存包含缓存) 密钥与密钥匹配的条目;否则为false。 ,MSDN 您应该检查缓存是否不为Null,然后检

我需要检查MemoryCache中是否存在密钥。但是,没有密钥集合或类似的东西可用

如果存在某个密钥,我不需要与该密钥关联的对象,只需要一个true或false

我知道我可以尝试使用.Get(键),但我不需要该对象。这是唯一的方法吗?

使用
bool-Contains(字符串键、字符串区域名)
方法

MSDN

确定缓存中是否存在缓存项。 返回值类型:System.Boolean true(如果缓存包含缓存) 密钥与密钥匹配的条目;否则为false。
,MSDN


您应该检查缓存是否不为Null,然后检查密钥是否存在(通过使用.Contains方法)


发布你的代码,这样每个人都可以帮助你。谢谢,我不知道我怎么会错过这个@oakio,我可以检查缓存而不是代码吗?来自浏览器等@user2167382否,因为它是服务器端缓存,我知道这是旧的,但
MemoryCache
不能包含
null
值。MemoryCache类不允许将null作为缓存中的值。任何添加或更改值为null的缓存项的尝试都将失败@nico同样的文档说Get()方法返回:一个对缓存项的引用,该缓存项由key标识,如果该项存在;否则,无效。
if (myCache != null && myCache.Contains("keyName") && myCache.Get("keyName") != null)
{
    myDS = (DataSet)myCache.Get("keyName");
}