[英]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.