我有我存儲在asp.net緩存中的產品列表,但是在刷新緩存時遇到問題。根據我們的要求,我想每15分鐘刷新一次緩存,但是我想知道,如果在緩存刷新的同時,如果某個用戶請求產品列表,那麼他應該得到錯誤還是舊列表,或者他有等待緩存刷新。管理asp.net中的緩存對象
示例代碼如下
public class Product
{
public int Id{get;set;}
public string Name{get;set;}
}
我們有一個功能,這使我們的產品列表中BLL
public List<Product> Products()
{
//////some code
}
Cache.Insert("Products", Products(), null, DateTime.Now.AddMinutes(15), TimeSpan.Zero);
我想在這裏多加一個局面,讓說,我用靜態對象而不是緩存對象,那麼會發生什麼,以及哪種方法最好,如果我們在一個獨立的服務器上,而不是羣集上
無論哪種方式,它取決於將檢索您的數據的代碼。 15分鐘後,緩存將簡單地爲「產品」關鍵字返回null。靜態對象將無法在應用程序池回收中生存,所以在這種情況下,它也將依賴於將從靜態對象中檢索數據的代碼。 –
此外,您還需要在兩種情況下都使用線程安全集合。請參閱[System.Collections.Concurrent命名空間](http://msdn.microsoft.com/en-us/library/system.collections.concurrent.aspx) – Magnus
你可以給我鏈接到這個東西實現的例子 – rajansoft1