我在缓存中有两个项目。我的要求是使缓存中的一项依赖于同一缓存中的另一项。
Cache["UserName"] = "Test User";
Cache["Message"] = "Test Message";
当Cache["UserName"]
更改或从缓存中删除时,Cache["Message"]
应自动删除/无效。
使用 DateTime 不是我的要求,也不是任何文件。
尝试这个
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);
您可以将缓存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);