覆盖缓存中的值而不影响依赖性

时间:2014-06-02 10:34:34

标签: asp.net caching httpruntime.cache

我正在尝试覆盖缓存中特定键的值。但是,我想保留缓存依赖项的现有设置。

这是一个示例代码,用于说明我正在尝试实现的目标。

    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秒,这是正常的。但是,我想覆盖它,但保留放在缓存键上的原始依赖。

这可能吗?什么是解决这个问题的最佳方法。

0 个答案:

没有答案