我們有幾個相當大的ASP.NET 2.0應用程序,用C#編寫,運行在Windows Web Server 2008上。 我們經常使用Cache,直到最近沒有問題。 但是,最近幾個月,我們在使用Cache的方法中出現了隨機錯誤。儘管密鑰存在,但值[Cache]似乎爲空。或者在Cache中有一個集合,並且它的所有元素都突然爲空(集合是用constans初始化的,所以這些不是數據庫問題)。 這怎麼可能?有沒有已知的錯誤?這可能是服務器內存或光盤故障?緩存中的數據消除 - 鍵保留,但值爲空
回答
即使您使用Cache.NoAbsoluteExpiration
+ Cache.NoSlidingExpiration
填充緩存,ASP.NET也可以從緩存中刪除項目(例如,當內存變低時)。
通過CacheItemPriority.NotRemovable
到Cache.Insert()
以防止發生。
不,不,這不是正常Cache工作的問題。問題是我們緩存例如一個ArrayList填充了一些字符串。然後在一段時間之後,我們將ArrayList從Cache中取出,並且ArrayList [i]爲空,儘管肯定我們從不在那裏放置任何null。 – user34402
@ user34402:然後更好地描述你的問題。也發佈相關的代碼。 –
在你說'Cache [key]'爲空的問題中,現在你說'(ArrayList
- 1. 組行但保留值不爲空
- 2. 刪除/取消多維數組中的其他鍵但保留鍵
- 3. Excel - 如果值爲0,則保留空白,但值爲0.03時保留空白
- 4. array_shift但保留鍵
- 5. html/php沒有緩存但保留cookie
- 6. git撤消刪除但保留新作
- 7. 在寫入JSON的時候保留鍵值爲空的值
- 8. 根據值的任何部分保留數組中的鍵/值?
- 9. 如何從數組中刪除未定義的值,但保留0和空
- 10. 想要在更改爲其他UIView時保留緩存數據
- 11. pyspark sql數據幀只保留爲空
- 12. 消除內存框架中的緩存
- 13. HTMLAgilityPack - 刪除節點,但保留其值
- 14. C#數據錶行值爲空字符串,但存在空值
- 15. PHP |以遞歸方式清空數組的所有值,但保留所有鍵
- 16. 保留Redis中的空數據密鑰
- 17. 存儲鍵/值緩存的數據庫表數據類型
- 18. 刪除單元格區域中的數據但保留公式
- 19. 數值在數組中排序後,用鍵保留鍵值?
- 20. 保存時外鍵爲空
- 21. BCP:將空值保留爲'\ N'
- 22. 刪除小數點但保留數字
- 23. 緩存和保存數據
- 24. @ManagedProperty保留爲空
- 25. 保存數據表的值作爲空字符串代替空
- 26. Zend表格文本值保留爲空
- 27. 緩存的mysql插入 - 保留數據的完整性
- 28. 數據保存爲空白CakePHP中
- 29. C#Web API - 在內存中高速緩存中存儲並保留數據
- 30. 如果將值保留爲空,CodeIgniter
當內存變得很低(或經過一定時間後)時,緩存的值就會丟失。所以值變成'null':按設計。 –