2009-09-14 51 views

回答

15

「從不」,即只要內存不足,ASP.NET Cache就認爲它有一些更重要的內容。

+0

正在運行網站的iis /應用程序池重新啓動將導致對象從緩存中刪除?總之,iis /應用程序池和緩存之間是否有任何聯繫? – Nirlep 2009-09-14 22:42:44

+1

是的,只要不使用任何進程外高速緩存提供程序,如果您的應用程序池或應用程序(在BIN文件夾或web.config中更改)重新啓動,所有緩存項都將消失。 所以它實際上就是它:緩存。不要用它來做其他事情。你永遠無法對那裏的東西做出假設(只有那裏不應該存在的東西)。 – realMarkusSchmidt 2009-09-15 08:54:14

8

這將插入沒有明確過期集合的對象。這意味着對象不會自動從緩存中移除,除非由於內存使用率過高,運行時決定從緩存中移除內容。

調用這個過載與調用

Cache.Insert(
    key, value, 
    null,      /*CacheDependency*/ 
    NoAbsoluteExpiration,  /*absoluteExpiration*/ 
    NoSlidingExpiration,  /*slidingExpiratioin*/ 
    CacheItemPriority.Normal, /*priority*/ 
    null      /*onRemoveCallback*/ 
); 

BTW:你可以使用.NET reflector找出這樣的事情。