DB バックエンドとして MVC2 + Entity2Sql を使用して作成されたサイトがあります。jQueryダイアログを使用してレコードを編集し、PartialViewを返すアクションを使用してデータを入力していますが、最初の呼び出しの後、このアクションはHTTP回答304 Not Modifiedの古いデータを含むビューを返します。
ログを確認しました-DBからのデータが正しく取得されたため、クライアント側のキャッシュに問題があります-キャッシュデータをクリアした後、問題なく受信しました。
次のアクションを実行してキャッシュを無効にしましたが、成功しませんでした:
次のコードを web.config に追加し、サーバー側で無効にします。
<caching>
<outputCache enableOutputCache="false" enableFragmentCache="false" />
</caching>
コードを Site.Master に追加し、クライアントで無効にします:
<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
最初のサーバー側と同じように、PartialContent の結果を返すメソッドに属性を追加しました。
[OutputCache(Duration = 0)]
アプリケーションの IIS 出力キャッシュ設定に「キャッシュしない」で「*」拡張子を追加しました (IIS7 を使用)
これらの方法はすべて私にとってはうまくいきません.IEのdevtoolsはまだ200ではなく304の答えを示しています.