[解決済み] ASP.NETからすべてのブラウザのキャッシュを無効にする
2023-04-09 12:17:19
質問
ブラウザがページをキャッシュするのを無効にするために必要な ASP.NET コードの決定的なリファレンスが必要です。HTTP ヘッダーとメタ タグに影響を与える多くの方法があり、異なるブラウザーが正しく動作するようにするには、異なる設定が必要な印象を受けます。すべてのブラウザで動作し、バージョンを含む特定のブラウザで必要なものを示すためにコメントされたコードの参照ビットを得ることは、本当に素晴らしいことです。
この問題については膨大な量の情報がありますが、各手法の利点と、特定の手法がより高いレベルの API によって取って代わられたかどうかを説明する良い参考文献はまだ見つかっていません。
私は特に ASP.NET 3.5 SP1 に興味がありますが、以前のバージョンの回答も得られるとよいでしょう。
このブログのエントリ Firefox と IE のキャッシュの 2 つの重要な違い では、いくつかの HTTP プロトコルの動作の違いについて説明しています。
次のサンプル コードは、私が関心を持っている種類のものを示しています。
public abstract class NoCacheBasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
DisableClientCaching();
}
private void DisableClientCaching()
{
// Do any of these result in META tags e.g. <META HTTP-EQUIV="Expire" CONTENT="-1">
// HTTP Headers or both?
// Does this only work for IE?
Response.Cache.SetCacheability(HttpCacheability.NoCache);
// Is this required for FireFox? Would be good to do this without magic strings.
// Won't it overwrite the previous setting
Response.Headers.Add("Cache-Control", "no-cache, no-store");
// Why is it necessary to explicitly call SetExpires. Presume it is still better than calling
// Response.Headers.Add( directly
Response.Cache.SetExpires(DateTime.UtcNow.AddYears(-1));
}
}
どのように解決するのですか?
ASP.NETで使っているものです。
// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
// Stop Caching in Firefox
Response.Cache.SetNoStore();
FirefoxとIEではキャッシュを停止しますが、他のブラウザでは試していません。これらの記述により、以下のレスポンスヘッダが追加されます。
Cache-Control: no-cache, no-store
Pragma: no-cache
関連
-
.NET開発サーバー アプリケーション管理ツール
-
ASP.NET Core MVC フィルタ
-
[解決済み] ウェブサイト制作のためのChromeキャッシュの無効化
-
[解決済み] Firefox または Chrome ブラウザから HTTP POST リクエストを手動で送信する方法
-
[解決済み] ASP.NET MVCでenumからドロップダウンリストを作成するにはどうすればよいですか?
-
[解決済み] なぜブラウザはCSSセレクタを右から左へマッチングさせるのですか?
-
[解決済み】全てのブラウザで、Webページのキャッシュを制御するには?
-
[解決済み] イベントログへの書き込み時にSystem.Security.SecurityExceptionが発生する。
-
[解決済み] ASP.NET MVCのAjaxポストでantiforgerytokenを含める。
-
[解決済み] Visual Studio 新しいブラウザを開けない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ネットのメモリ管理に関する5つの基本
-
ASP.NET Core Dependency Injectionフレームワークの活用
-
swagger uiをasp.net coreに統合する原理
-
Net Core HttpClient処理 レスポンス圧縮の詳細
-
403 - アクセス拒否。IIS7 でファイルを開くと、アクセス拒否されます。
-
ASP.NETでのRadioButton(ラジオボタン)の使用について
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み] IIS 500.19 with 0x80070005 The requested page cannot be accessed because the related configuration data for the page is invalid error.
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] ポストバック時に「オブジェクトの現在の状態により操作が有効でない」エラーが発生する