3

非常に負荷の高い ASP.net MVC 4 システムを構築してOutputCacheおり、2 つの主要なページで属性を使用したいと考えています。これOutputCacheは、ページを非常に迅速に作成するという望ましい効果がありますが、データの変更をサイトに迅速に反映する必要があるため、ページの有効期限を制御できるようにする必要があります。

これが私のコードの例です - 10分間、またはデータベーステーブルが変更されるまでページをキャッシュしようとしています。SQLDependency は問題なく動作しています。

[OutputCache(Duration = 600, SqlDependency = "myDb:myTable")]
public ActionResult Index()
{
    // Do Stuff                     
    return View();
}

[OutputCache(Duration = 600, SqlDependency = "myDb:myTable", VaryByParam = "id")]
public ActionResult Details(int id)
{
    // Do Stuff                     
    return View();
}

54 の異なる詳細ページがあります。データベース テーブル内の何かが変更された場合、インデックスのキャッシュとすべての詳細ページの有効期限が切れる必要があります。現在、キャッシュは機能していますが、期待どおりに期限切れにはなりません。

私の質問は

  1. 「OutputCache」属性のさまざまなパラメーターの相対的な優先順位は?
  2. 現在の構成は正しく機能するはずですか?

どんな助けでも大歓迎です。

4

1 に答える 1