0

使用 Microsoft CacheManager 时是否有防止键冲突的好方法?是什么阻止某人编写另一个使用与我相同的密钥的类,却没有意识到它已经被使用过?每个网页是否需要使用单独的缓存管理器?

这样就很难分享了。我想知道关于使用会话的同样的事情。似乎没有很好的方法来管理密钥并保持它们的唯一性。

我见过其他使用命名空间概念的缓存解决方案。如果我可以使用网页名称作为命名空间来保持事物的唯一性,然后为我想要共享的事物使用一些全局命名空间,这将是有意义的。就像我提到的那样,这可能同样适用于会话。

即使是企业图书馆文档中的这个示例也会让您认为没有很好的方法可以为给定的员工 ID 存储不止一种类型的对象。

cache.Add(employeeId.ToString(), photoData, 
   CacheItemPriority.High, null, 
   new ICacheItemExpiration[] { expiry });

您几乎需要存储一个包含您需要的一切的主对象,而我不想这样做。或者你最终得到一堆嵌套字典。关于如何最好地解决这个问题的任何想法?

4

2 回答 2

1

我见过几个选项,具体取决于您的用例:

  • 您可以将密钥存储在ResourcesSettings
  • 你可以使用GUID调用者生成的 s
于 2012-06-21T19:10:49.083 回答
1

只需组成一个命名方案,例如:“Path/To/File.Component.Object.Object2.Property”

那应该是独一无二的。然后为自己构建一些实用方法,这样您就不必手动复制粘贴字符串。

于 2012-06-21T20:09:53.437 回答