我正在尝试覆盖缓存中特定键的值。但是,我想保留现有的缓存依赖项设置。
这是示例代码来说明我想要实现的目标。
public ActionResult AddToCache()
{
HttpRuntime.Cache.Insert("test", "test123", null, DateTime.Now.AddSeconds(30), Cache.NoSlidingExpiration);
return new ContentResult {Content = "Done."};
}
public ActionResult Override()
{
HttpRuntime.Cache["test"] = "43212";
return new ContentResult { Content = "Overriden." };
}
public ActionResult Read()
{
string value, hit;
if (HttpRuntime.Cache["test"] != null)
{
value = HttpRuntime.Cache["test"].ToString();
hit = "HIT";
}
else
{
value = "Unknown";
hit = "NO HIT";
}
return new ContentResult { Content = string.Format("{0} {1}", value, hit) };
}
如果你打电话AddToCache
。你会发现Read
给你test123 30 秒,这是正常的。但是,我想覆盖它但保留放在缓存键上的原始依赖项。
那可能吗?解决这个问题的最佳方法是什么。