2016-07-16 12 views
0

MVCアプリケーションでjsonresult型でoutputcachingを使用しました。値は、出力キャッシュは変化はない、SIDに変更を取得したときにここで出力キャッシュ - varybyparamでキャッシュをクリアしない

だから私のコード

[OutputCache(期間= 20、VaryByParam = "SID")] 公共化するJsonResult GetListValue(ブールSID)

です新しい値では、メソッドに全く当てはまらないということです。それは、古いキャッシュの値をフェッチし続けます。あなたがこのメソッドで何がうまくいかなかったかを教えてください。

答えて

0

VaryByParamを使用するメカニズムは、実際の生のHTTPリクエストのクエリ文字列またはポストパラメータに対して特に機能し、その生のリクエストを他の形式にマッピングするURLルーティングを認識しません。したがって、あなたのケースでは、idやquoteidのパラメータは全く表示されません(実際には生のリクエストのクエリ文字列や投稿には含まれないため)。

ただし、URL自体(名前を含む '?'の前)が異なることに気づくでしょう。

代わりにVaryByCustomを使用することを検討する必要があります。例については、hereを参照してください。そして、非常によく似たSO質問の例hereがあります。

関連する問題