1

子のアクションがキャッシュされていません。どうしてか分かりません。

私のマスターページは子アクションを呼び出します:

@Html.Action("Header", "Layout", new { selectedMarket = Model.SelectedMarket })

    [ChildActionOnly]
    [OutputCache(Duration=60)]
    public PartialViewResult Header(Guid selectedMarket)
    {
        var model = _marketService.GetHeaderViewModel(selectedMarket);
        return PartialView(model);
    }

この子アクションが実行され、リクエストごとにパーシャルが再レンダリングされます。

注:OutputCacheを使用してページ全体を正常にキャッシュできます。私にとってうまくいかないのは、ドーナツの穴のキャッシングだけです。

4

1 に答える 1

1

次の方法でOutputCacheAttributeを設定してみてください。

[OutputCache(Duration=3660, VaryByParam="selectedMarket")]

これにより、selectedMarketごとに個別のキャッシュが作成されます(これが必要なものだと思います)。それが役に立ったら教えてください。

于 2012-04-19T15:18:22.220 に答える