Skip to content

OTR_CacheControl

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

キャッシュ制御

概要

Open 棟梁の方針は、動的な画面のレスポンスはキャッシュさせないことである。
戻るボタンでのログアウト後の再表示や、プロキシへの残存による機密漏えい・データ不整合を避ける。

  • 設定 FxCacheControl を on にすると、親クラス2 がすべてのレスポンスにキャッシュ無効化のヘッダを付ける。
  • Web Forms・MVC(net48 / net10.0)の両方で効く。既定は OFF なので、方針として ON を推奨する。

詳細

付与されるヘッダ

Cache-Control: no-cache, no-store, must-revalidate   (HTTP/1.1)
Pragma: no-cache                                      (HTTP/1.0)
Expires: 0                                            (プロキシ)

SQL のキャッシュ(別物)

  • 設定 FxSqlCacheSwitch:SQL 定義ファイルのキャッシュ。
  • 自動生成 Dao のクエリ・キャッシュ:コンストラクタに固定の ID を渡すと、動的 SQL の組み立て結果を再利用する(D層自動生成ツール)。

ASP.NET Core での選択肢

種類 手段
レスポンス(HTTP)キャッシュ [ResponseCache] 属性(ヘッダを出すだけ)
出力キャッシュ OutputCache ミドルウェア(.NET 7 以降。UI アプリ向けの推奨)
データ・キャッシュ IMemoryCache(単一サーバ)、IDistributedCache(Redis など、複数インスタンスで共有)
静的アセット 長い max-age + immutable + 内容のハッシュ
  • ユーザ識別・認証に依存する内容はキャッシュしない(no-store)。この結論は Open 棟梁の方針と同じ。

コーディング・エージェントに任せる場合

  • スキル opentouryo-app-design(references/cache-control.md)を使わせる。
  • エージェントが性能改善の名目で、認証後の画面にキャッシュを付けていないかを確認する。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally