我们有几个相当大的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':按设计。 –