2

テキスト ファイル レポートを作成し、ファイルにリダイレクトする ASP.NET Web アプリケーションがあります。

Response.Redirect(strFileName);

問題は、キャッシングに関して IE9 が何か違うことをしているように見えることです。2 つのレポートを生成すると、IE9 は常に最初に生成されたレポートを表示します。更新されたファイルを表示するには、CTRL + F5 を実行する必要があります。この問題は、他のブラウザでは発生しません。

キャッシュを無駄に変更するコマンドを追加しようとしました。

Response.Cache.SetNoStore();
Response.Cache.SetCacheability(HttpCacheability.NoCache);

記録用のテキスト ファイルを生成する機能を保持したいと考えています。1 つの解決策は、テキスト ファイルからすべての情報をページにダンプし、Response.Redirect. IE にテキスト ファイルを強制的に再読み込みさせる方法はありますか?

4

2 に答える 2

3

バージョンのようなものを使用できます。

string strFileName = GetReportUrl();
string version = GetCurrentReportVersion(); // - or to use DateTime.Now.ToString();
string url = string.Format("{0}?v={1}", strFileName, version);

Response.Redirect(url);

その場合、ブラウザは常に最新のレポート バージョンを使用します。

于 2013-01-11T14:02:27.867 に答える
0

@Oleksandrの答えはうまくいくはずで、実装も簡単です。

Response.Cache別の方法は、言及した設定を含む別の .net ページにリダイレクトすることです。テキスト ファイルの内容をこの新しいページに書き込みます。

あなたのアプローチの問題は、Response.Cache設定がリダイレクト先のページではなく、現在のページに適用されることです。

于 2013-01-11T14:13:29.360 に答える