使用 Microsoft CacheManager 时是否有防止键冲突的好方法?是什么阻止某人编写另一个使用与我相同的密钥的类,却没有意识到它已经被使用过?每个网页是否需要使用单独的缓存管理器?
这样就很难分享了。我想知道关于使用会话的同样的事情。似乎没有很好的方法来管理密钥并保持它们的唯一性。
我见过其他使用命名空间概念的缓存解决方案。如果我可以使用网页名称作为命名空间来保持事物的唯一性,然后为我想要共享的事物使用一些全局命名空间,这将是有意义的。就像我提到的那样,这可能同样适用于会话。
即使是企业图书馆文档中的这个示例也会让您认为没有很好的方法可以为给定的员工 ID 存储不止一种类型的对象。
cache.Add(employeeId.ToString(), photoData,
CacheItemPriority.High, null,
new ICacheItemExpiration[] { expiry });
您几乎需要存储一个包含您需要的一切的主对象,而我不想这样做。或者你最终得到一堆嵌套字典。关于如何最好地解决这个问题的任何想法?