在ASP.NET MVC 5中添加具有文件依赖关系的操作结果缓存

本文关键字:关系 依赖 文件 操作 缓存 结果 NET ASP MVC 添加 | 更新日期: 2023-09-27 18:00:55

我使用的是.NET Framework 4.5.1和ASP.NET MVC 5。

我有以下行动:

    [OutputCache(Duration = 86400 /* 24 hours */, VaryByParam = "none")]
    public PartialViewResult WhatsNew()
    {
        var viewModel = new WelcomeWhatsNewViewModel
        {
            WhatsNewHeadlines = _service.GetWhatsNewHeadlines()
        };
        return PartialView("WhatsNew", viewModel);
    }

我不清楚如何添加具有文件依赖关系的操作结果缓存,以便在更新剃刀视图时清除缓存。这可能吗?

我浏览了ASP.NET MVC 5的源代码,但我不知道如何实现这一点,我在网上做了一些搜索,但没有找到任何解释这是否可以实现的东西。

在ASP.NET MVC 5中添加具有文件依赖关系的操作结果缓存

当您修改cshtml文件时,下一个请求将强制重新编译,并且需要卸载应用程序域,因此httpruntime缓存将被清除,这就是支持outputcache的内容。如果出于某种原因,这种情况没有发生。

以下是如何在操作中添加缓存依赖项

Response.AddCacheDependency(new CacheDependency(filename));