OutputCacheについてはわかりません。ここでCacheProfileを使用したASP.NET MVC4 OutputCache
は私のテスト
私はこの場合
[OutputCache(Duration = 3600, VaryByParam = "none", Location = System.Web.UI.OutputCacheLocation.Server)]
public string hour()
{
return DateTime.Now.ToString("T");
}
現在の時刻を返す単純なアクションを持っている、それが完璧に動作します。
は今、私はここで
[OutputCache(CacheProfile = "Cache1Hour")]
public string hour()
{
return DateTime.Now.ToString("T");
}
更新アクションがあり、ここでweb.configファイルのキャッシュセクション
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache1Hour" duration="3600" varyByParam="none" location="Server"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
である。しかし、私がテストしたときに、それは動作しませんcacheProfile を使用します。 私が/ MyController/hour?id = 1と/ MyController/hour?id = 2を呼び出すと、varyByParam = "none"を設定しても2つの異なる結果が得られます。
そして最後に、私は別のテスト
[OutputCache(CacheProfile = "Cache1Hour", VaryByParam ="none")]
public string hour()
{
return DateTime.Now.ToString("T");
}
を行い、このような場合のために、それは完璧に動作します。
この意味は? なぜ私のVaryByParmプロパティがweb.configファイルから使用されていないのですか? 誰かが私を説明できますか?
よろしく
アップデート1:ここ は、持続時間が60(= 1分)に設定されているあなたのweb.configファイルの画像で私のweb.config web.config
設定の詳細を表示すると、セクションが間違った場所にある可能性がありますか? –
私はweb.configファイルのprintscreenを追加するだけです –
テストの速さはわかりませんが、イメージでは持続時間は60(= 1分)に設定されています –