防止弹出输出缓存页面

时间:2011-09-07 17:45:30

标签: asp.net asp.net-mvc-3 outputcache

我正在尝试阻止输出缓存页面从我的asp.net输出缓存中弹出,除非另一个可以替换它。换句话说,如果页面已过期(基于OutputCache配置文件的Duration属性),但现在访问该页面会导致异常,我只想提供旧的,过时的页面。我希望ASP.NET 4中的自定义缓存提供程序可以帮助我解决问题,但是他们的管道不够好。

以下是我所知道的:

  • System.Web.Caching.OutputCache真的很难通读
  • 自定义缓存提供程序在所有依赖项之后挂钩并被提供给CachedVary对象。
  • 传递到自定义缓存提供程序的Add和Set方法的utcExpiry日期只是DateTime.Max
  • 缓存项目的实际到期时间在管道
  • 中更高
  • 即使对于过期的项目,仍会调用自定义缓存提供程序的Get方法。它返回缓存的CachedVary对象,然后调用控制器的action方法。在此之后,使用CachedVary对象调用Add方法,并向Set方法传递实际的缓存页数据对象。

拥有更多黑客输出缓存经验的人能引导我朝这个方向前进吗?我可以用ASP.NET outputcache完成我正在寻找的东西吗?我必须自己动手吗?

1 个答案:

答案 0 :(得分:0)