2010-02-18 76 views
0

嗨我正在使用下面的代碼來緩存對象。WCF運行時緩存

HttpRuntime.Cache.Insert(「Doc001」,_document); HttpRuntime.Cache.Remove(「Doc001」);

我想知道緩存存儲? (在客戶端PC或IIS服務器上)

這是緩存對象的保存方式,通過以這種方式添加和刪除緩存會影響任何其他客戶端,比如說我有2個客戶端連接並且都存儲緩存「HttpRuntime.Cache.Insert(」Doc001「,_document);」和一個客戶端刪除緩存,是否只在客戶端級別上刪除?

回答

1

這將取決於您在何處編寫此代碼。如果你在WCF服務中這樣做,那麼對象將存儲在託管此服務的進程的內存中(如果IIS然後是w3p.exe)。緩存將在服務的所有客戶端之間共享,這意味着如果客戶端從緩存中移除項目,其他客戶端也會看到它被移除。

使用此構造時需要了解的重要一點是,運行時可能會決定在某些情況下(例如在低內存上運行)從緩存中過期對象,因此請始終檢查緩存中是否存在對象使用它:不要假設如果你把它放在那裏,你會發現它。您可能會閱讀more about caching on MSDN

+0

我想在客戶端級別緩存,我將使用什麼? – francois 2010-02-18 09:36:34

0

緩存發生在網站(MVC)。