MemoryCacheこの記事によると、はスレッドセーフクラスです。しかし、特定の状況でどのように動作するかはわかりません。たとえば、私は次のコードを持っています:
static private MemoryCache _cache = MemoryCache.Default;
...
if (_cache.Contains("Test"))
{
return _cache.Get("Test") as string;
}
- 呼び出した直後に要素の存続時間が期限切れになる
Contains()ので、null値が返されますか? Contains()呼び出した直後に別のスレッドでアイテムを削除して、null値が返されるようにすることはできますか?