在使用微软CacheManager时,有没有避免密钥冲突的好方法?怎样才能阻止别人使用与我相同的密钥编写另一个类,而没有意识到它已经被使用了呢?每个网页都需要使用单独的cachemanager吗?
这将使它很难分享。我想知道关于使用会话的同样的事情。似乎没有好的方法来管理密钥并保持它们的唯一性。
我见过其他使用名称空间概念的缓存解决方案。如果我可以使用网页名称作为命名空间来保持事物的唯一性,那么这将是有意义的,然后是我想要共享的事物的全局命名空间。正如我所提到的,这可能也适用于会话。
即使是来自enterpriselibrary文档的这个示例也会让您认为,对于给定的员工id,没有什么好方法来存储超过一种类型的对象。
cache.Add(employeeId.ToString(), photoData,
CacheItemPriority.High, null,
new ICacheItemExpiration[] { expiry });你几乎需要存储一个主对象,它包含了你需要的所有东西,这是我不想做的。或者你最终会得到一堆嵌套的字典。有没有关于如何最好地处理这个问题的想法?
发布于 2012-06-22 04:09:53
只需创建一个命名方案,例如:"Path/To/File.Component.Object.Object2.Property“
这应该是独一无二的。然后为自己构建一些实用方法,这样您就不必手动复制粘贴字符串。
发布于 2012-06-22 03:10:49
根据您的用例,我看到了几种选择:
您可以将密钥存储在Resources或Settings
GUIDs 。
https://stackoverflow.com/questions/11145036
复制相似问题