0

我在缓存中有两个项目。我的要求是使缓存中的一项依赖于同一缓存中的另一项。

Cache["UserName"] = "Test User";
Cache["Message"] = "Test Message";

Cache["UserName"]更改或从缓存中删除时,Cache["Message"]应自动删除/无效。

使用 DateTime 不是我的要求,也不是任何文件。

4

2 回答 2

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);
于 2013-08-05T07:40:44.783 回答
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);
于 2013-08-05T07:42:08.040 回答