【发布时间】:2012-05-09 19:50:29
【问题描述】:
我在我的 ASP.NET 网站中积极使用缓存。
虽然,从 db 请求的某些对象确实不存在。例如,我通过在ProductsDiscount 表中查看ProductId=@ProductId 的记录来检查特定产品是否有Discount。没有记录意味着没有折扣。
您认为将null 折扣对象放入缓存是否是个好主意?
或者我最好发明一些更好的东西(例如使用空对象模式)。事实上,我不太喜欢开始使用空对象模式的想法,因为它需要进行大量的重新设计,我至少现在想避免这种情况。
谢谢。欢迎任何想法。
附:事实上,当我尝试调用时,我什至无法将空对象放入缓存中:
HttpContext.Current.Cache.Insert("name...", null);
我收到:
值不能为空。
附言为什么 MSDN 对这种行为只字未提?
【问题讨论】:
标签: c# asp.net caching design-patterns null-object-pattern