我在缓存中有两个项目。我的要求是使缓存中的一个项目依赖于同一缓存中的另一个项目。
Cache["UserName"] = "Test User";
Cache["Message"] = "Test Message";
当Cache["UserName"]
更改或从缓存中删除时,Cache["Message"]
应自动删除/失效。
使用DateTime不是我的要求,也不是任何文件。
答案 0 :(得分:1)
试试这个
Cache["UserName"] = "Test User";
// Make Cache["Message"] dependent on Cache["UserName"].
string[] dependencyKey = new string[1];
dependencyKey[0] = "UserName";
CacheDependency dependency = new CacheDependency(null, dependencyKey);
Cache.Insert("Message", "Test Message", dependency);
答案 1 :(得分:1)
您可以将缓存keys
作为参数,默认情况下在Asp.Net中受支持。阅读本文以获取更多信息:
http://msdn.microsoft.com/en-us/library/system.web.caching.cachedependency.aspx
或特别是这个:
http://msdn.microsoft.com/en-us/library/818kahch.aspx
提供文件名不是强制性的。缓存键只是开箱即用。
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dependency = new CacheDependency(null, dependencyKey);
Cache.Insert("key2", "Value 2", dependency);