任何人都可以解释为什么不能将空对象插入到ASP.NET缓存中吗?ASP.NET无法缓存空值
string exampleItem = null;
HttpRuntime.Cache.Insert("EXAMPLE_KEY",
exampleItem,
Nothing,
DateTime.Now.AddHours(1),
System.Web.Caching.Cache.NoSlidingExpiration);
异常错误消息指出“值”对象不能为空。在我的应用程序中,我们为什么要在缓存中存储空值是有正当理由的。
字典 *不*区分(这是所有从我的头顶,所以道歉,对任何愚蠢的拼写错误。) null并且没有值。获取不存在的键的值将引发KeyNotFoundException,并存储空值是有效的。 –
2009-06-09 03:12:56
啊。我只测试了Hashtable。更有证据表明Cache基于Hashtable,并具有预插入检查。 – 2009-06-09 03:32:37
派对迟到,但仅供参考,似乎MemoryCache通过返回'null'来传递一个丢失的键。 所以,如果它允许插入空值,它不会知道两者之间的差异。 – GettnDer 2017-09-22 15:34:28