En lille advarsel om TimeSpan.Zero
På Cache objektet i NET 1.1 og Net 2.0 findes der en metode på cacheobjektet, der hedder
public Object Add (
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback onRemoveCallback
)
Denne metode styrer, hvor længe et objekt skal caches.
I .NET 1.1 dokumentationen findes der adskillige eksempler på,
at parameteren slidingExpiration sættes til TimeSpan.Zero. Envidere siger dokumentation, at System.Web.Caching.Cache.NoSlidingExpiration = TimeSpan.Zero
Brug System.Web.Caching.Cache.NoSlidingExpiration! TimeSpan.Zero gav os memoryleaks i IIS 6.0 (.NET 1.1) som vi måtte slide med en hel dag.
Det virker ulogisk, men vi var istand til at reproducere fejlen med en ændring i én linie kode.
Af:
Henrik Farnø
Kategorier: Teknologi
