繁体   English   中英

从MVC2升级到MVC4后,ASP.NET输出缓存不起作用

[英]ASP.NET Output Caching not working after upgrade from MVC2 to MVC4

我们有一个现有的MVC2项目,我们首先按照以下步骤将其升级到MVC4,以获取MVC3,然后按照这些步骤将其获取到MVC4。

在我们的MVC2项目中,输出缓存已经成功运行了很长时间,但是在MVC4版本之后,它不再起作用。

我添加了一个简单的控制器来测试缓存:

 public class TestController : Controller
 {
    [OutputCache(Duration = 600, VaryByParam = "*")]
    public ActionResult CacheTest()
    {
        return Content(DateTime.Now.ToLongTimeString());
    }
 }

每次刷新此页面时,输出到浏览器的时间都会改变。

在相同的解决方案中创建一个新的MVC3项目,然后升级到MVC4,然后按预期的方式复制相同的代码。

因此,我们现有代码或配置中的某些地方肯定会破坏输出缓存。

我还尝试过从web.config文件中删除大量内容,以为有问题的原因-没运气。

有关如何解决或调试此问题的任何建议?

更新:

在任何视图中呈现上面的CacheTest操作将显示缓存的结果-即日期在每次刷新时都不会更改:

<% Html.RenderAction("CacheTest", "Test"); %>

为什么行得通,但从未缓存来自浏览器的操作网址?

原来这是第三方库51Degrees的问题 这是此库的最新版本中引入的一个问题。 在从MVC2转换为MVC4的过程中,我安装了nuget软件包,该软件包比我使用的先前版本晚几个版本。

错误警报-与ASP.NET MVC升级或任何与ASP.NET相关的无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM