Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
MemoryCache nyomon követi a csatolt gyorsítótár bejegyzéseit, hogy a beállítások propagálódjanak. Az alábbi példában a expirationToken hozzáadása szintén alkalmazva lesz child-re parent mellett.
using (var parent = cache.CreateEntry(key))
{
parent.SetValue(obj);
using (var child = cache.CreateEntry(key1))
{
child.SetValue(obj);
child.AddExpirationToken(expirationToken);
}
}
Teljesítménybeli okokból a .NET 7 alapértelmezés szerint nem követi nyomon a csatolt gyorsítótár bejegyzéseit. A nyomkövetést azonban egy új beállítással engedélyezheti.
Bevezetett verzió
.NET 7
Előző viselkedés
A .NET 7 előtt a MemoryCache nyomon követte a csatolt gyorsítótár-bejegyzéseket, hogy lehetővé tegye a beállítások propagálását. A nyomon követés nem tiltható le.
Új viselkedés
A .NET 7-től MemoryCache kezdődően alapértelmezés szerint nem követi nyomon a csatolt gyorsítótár bejegyzéseit. A MemoryCacheOptions.TrackLinkedCacheEntries beállítás hozzáadva, így szabályozhatja, hogy a csatolt gyorsítótár bejegyzései nyomon legyenek-e követve vagy sem.
A kompatibilitástörő változás típusa
Ez a változás befolyásolhatja a bináris kompatibilitást.
A változás oka
Ezt a módosítást a teljesítmény javítása érdekében vezették be. A nyomon követés belső használata AsyncLocal<T> költséges, és jelentős többletterhelést okoz.
Javasolt művelet
Ha azt szeretné, hogy MemoryCache továbbra is nyomon kövesse a csatolt gyorsítótár-bejegyzéseket a beállítások propagálása érdekében, állítsa a MemoryCacheOptions.TrackLinkedCacheEntries következőre true.
var options = new MemoryCacheOptions
{
TrackLinkedCacheEntries = true
};
var cache = new MemoryCache(options);