簡體   English   中英

在Asp.net中緩存

[英]Caching in Asp.net

我在我的應用程序中觀察到一種情況,當用戶仍在訪問我的應用程序時,我的緩存不會過期。 讓我詳細解釋一下。 我已將緩存設置為在10秒后過期,並且提到了NoAbsoluteExpiration。 代碼是這樣的:

Cache.Insert("Data", value, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(10));

現在,假設第一個用戶訪問了該頁面之后,在第9個第二個用戶訪問了該應用程序。 在這種情況下,Cache不會在第10秒過期,並將自身延伸到接下來的10秒。 這對我們的應用程序來說是個問題,因為如果每一秒我都有一個用戶訪問我的網站,那么緩存永遠不會過期。 我發現Cache只有在應用程序空閑10秒后才會過期。 也就是說,如果網站沒有被擊中10秒鍾。

無論任何用戶仍在訪問該頁面還是該應用程序處於空閑狀態,我如何才能使緩存每10秒過期一次。

提前致謝。

然后使用NoSlidingExpiration而不是NoAbsoluteExpiration並給它一個絕對到期的時間跨度。

Cache.Insert("Data", value, null, TimeSpan.FromSeconds(10), System.Web.Caching.Cache.NoSlidingExpiration);

現在你明確地告訴緩存完全與你想要它做的完全相反。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM