2011-08-23 178 views
7

在我的Web表單應用程序中,我使用HttpContext.Current.Cache來存儲一些不同的表單用來避免每次都去db的信息。HttpContext.Current.Cache - 何時會自動清除?

我的問題是,什麼時候會清除?或者它會一直存在,直到我通過代碼刪除它或重新啓動IIS?

+0

你說的是整個緩存還是某些項目? – Oded

+1

谷歌是你的朋友...看到這個,以及更多:http://msdn.microsoft.com/en-us/library/6hbbsfk6.aspx –

+0

@Oded,談論,所有緩存項目 – Riz

回答

10

緩存保存在內存中,直到進程停止。

因此,重置IIS或回收應用程序池也會清除緩存。

+0

我應該怎麼做才能確保我的緩存項目始終保留在緩存中?我可以把它們放在Global.asax的Application_Start的緩存中。是否正常?或者我還需要做其他的事情? – Riz

+0

@dFriend - 緩存的項目將保留在緩存中,無論您將其添加到哪裏。他們只會在重置/回收(或指示)時過期。 – Oded

+0

當沒有足夠的內存可用時,IIS是否會自動重新啓動? – Rookian