Ich habe den folgenden Code eingerichtet, um einen Cache zu erstellen. Beim Debuggen füge ich cache
zur Überwachungsliste hinzu und gehe durch den Code. Aber wenn ich die Eigenschaften von cache
, in PollingInterval (nur Ort, ich kann etwas im Zusammenhang mit der Zeit sehen) zeigt es Tage als 0, und Minuten als 2. Ich habe dies mit beiden AbsoluteExpiration und SlidingExpiration versucht.Bestätigung des Cachespeicherablaufdatums/-zeit in C#
ObjectCache cache = MemoryCache.Default;
CacheItemPolicy policy = new CacheItemPolicy();
//policy.AbsoluteExpiration = DateTimeOffset.Now.AddHours(24.0);
//policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(30.0);
policy.SlidingExpiration = TimeSpan.FromDays(2.0);
cache.Set("Clients", clients, policy);
Ich habe sogar versucht, DateTimeOffset.Now.AddHours(24.0)
als dritter Parameter für cache.Set(...)
statt CacheItemPolicy verwenden.
Danke.
[PollingInterval] (https://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache.pollinginterval (v = vs.110) .aspx) - _ "Erhält die maximale Zeit nach der Cache aktualisiert seine Speicherstatistik "_ - nicht, wie lange Objekte zwischengespeichert werden. – stuartd
Wie kann ich die Cache-Ablaufzeit bestätigen? –
[Einen Test schreiben] (http://stackoverflow.com/questions/3848560/asp-net-4-0-cacheitempolicy-sliding-expiration-incorrect)? Oder vielleicht einen Blick auf seine Felder mit Reflektion werfen? Warum glaubst du nicht, dass es korrekt ist? – stuartd