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