本文整理汇总了C#中IMemoryCache.TryGetValue方法的典型用法代码示例。如果您正苦于以下问题:C# IMemoryCache.TryGetValue方法的具体用法?C# IMemoryCache.TryGetValue怎么用?C# IMemoryCache.TryGetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IMemoryCache
的用法示例。
在下文中一共展示了IMemoryCache.TryGetValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PriodicallyReadKey
private void PriodicallyReadKey(IMemoryCache cache, TimeSpan interval)
{
Task.Run(async () =>
{
while (true)
{
await Task.Delay(interval);
if (Random.Next(3) == 0) // 1/3 chance
{
// Allow values to expire due to sliding refresh.
Console.WriteLine("Read skipped, random choice.");
}
else
{
Console.Write("Reading...");
object result;
if(!cache.TryGetValue(Key, out result))
{
result = cache.Set(Key, "B", _cacheEntryOptions);
}
Console.WriteLine("Read: " + (result ?? "(null)"));
}
}
});
}
示例2: DefaultTagCache
public DefaultTagCache(ITagRemovedEventHandler tagRemovedEventHandler, IMemoryCache memoryCache)
{
// We use the memory cache as the state holder and keep this class transient as it has
// dependencies on non-singletons
if(!memoryCache.TryGetValue(CacheKey, out _dictionary))
{
_dictionary = new ConcurrentDictionary<string, HashSet<string>>(StringComparer.OrdinalIgnoreCase);
memoryCache.Set(CacheKey, _dictionary);
}
_tagRemovedEventHandler = tagRemovedEventHandler;
}
示例3: CompareWithCache
private async Task CompareWithCache(LadderEntry entry, IMemoryCache cache, Func<string, Task> Send)
{
var key = entry.Request.RegionID + ":" + entry.RealmID + ":" + entry.Name;
LadderEntry cachedEntry = default(LadderEntry);
var cached = cache.TryGetValue(key, out cachedEntry);
cache.Set(key, entry);
if (cached)
{
var change = new LadderChange(cachedEntry, entry);
if (change.Changed())
{
SaveChange(change);
BroadcastChange(change, Send);
}
}
}