是否有任何规则为我们在ASP.Net中使用的缓存密钥指定正确的名称。
string cacheKey = "aaaabbbbbsssssssss";
ObjectCache cache = MemoryCache.Default;
CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddDays(15);
cache.Add(cacheKey, definitions, cacheItemPolicy);
这里的cacheKey =需要是任何字符串..我担心“cacheKey”的值
答案 0 :(得分:1)
如果你在谈论HttpContext.Current.Cache
,那么没有。一般来说,这是您的应用程序使用此缓存,因此您可以完全控制所谓的密钥。
这就是说:如果您担心冲突(例如,您正在使用的其他程序集之间),请考虑使用名称空间限定名称 - 拥有缓存值的类的类型名称可能有效。或者,您可以使用URI - 它们适用于相对独特的名称,因为人们不太可能使用您的域名而没有意义。当然,总有GUID。
答案 1 :(得分:0)
你的意思是说在mvc中使用的动作过滤器我猜它用作属性
[的OutputCache(10)]
或
在派生类中重写时,尝试将缓存条目作为CacheItem实例插入缓存中,并添加有关如何逐出该条目的详细信息。 (继承自ObjectCache。)