【问题标题】:MVC - Outputcache - post params - VaryByParam no effectMVC - 输出缓存 - 后参数 - VaryByParam 无效
【发布时间】:2014-08-28 07:58:45
【问题描述】:

我有一个 MVC 页面被带有 2 个帖子参数的普通表单帖子击中。

SupplierId 和 Repayment。

在添加表单之前,我在动作上使用了 Outputcache:

[OutputCache(Duration = 86400, VaryByCustom = "pageurl")]
public override ActionResult Load(int ControlId)
{

当 url 改变时一切正常。

现在我希望它也因 post 参数而异,所以我将其更改为:

[OutputCache(Duration = 86400, VaryByCustom = "pageurl", VaryByParam = "SupplierId;Repayment")]
public override ActionResult Load(int ControlId)
{

这不起作用。它不会为不同的帖子参数缓存单独的结果。如果我使用不同的帖子参数请求相同的 url,我会不断获得初始缓存结果。 Visual Studio 中的断点也未命中。

谁能告诉我我做错了什么?

【问题讨论】:

    标签: c# asp.net-mvc outputcache varybyparam


    【解决方案1】:

    VaryByParam 与传递给此方法的参数有关。你唯一的参数是int ControlId

    您需要发送至VaryByParam = "SupplierId;Repayment"

    [OutputCache(Duration = 86400, VaryByCustom = "pageurl", VaryByParam = "SupplierId;Repayment")]
    public override ActionResult Load(int SupplierId, int Repayment)
    {
    }
    

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      相关资源
      最近更新 更多