MemoryCache不区分大小写的密钥查找

时间:2012-12-24 00:35:58

标签: .net

我正试图找到一种方法使.net 4.0 MemoryCache.Default实例使用不区分大小写的比较器。

这可能吗?

var bob = new object();

MemoryCache.Default["Bob"] = bob;

bob == MemoryCache.Default["bob"]; --> true

1 个答案:

答案 0 :(得分:5)

通过ILSpy查看代码,似乎无法实现。因为在幕后它最终使用了你的密钥字符串的GetHashCode()

我认为最简单的解决方法是实现自定义缓存,扩展MemoryCache覆盖与密钥交互的所有方法,并在将其作为参数传递给ToUpperInvariant()时调用基地电话。