none
キャッシュを無効にする方法 RRS feed

  • 質問

  • Windows Server 2008

    IIS 7

    IE7

     

    キャッシュを無効にする方法でご教示ください。

     

    <%@ OutputCache Location="None" VaryByParam="None" %>

    をスタートページに記述していますが、検索処理実行後、ブラウザを終了し再度スタートページを読み込むと

    指定した検索条件と結果がそのまま表示されています。

     

    キャッシュを無効にするために上記の記述をしていますが、機能していないように思えます。

    不足していることがあるのでしょうか。

     

    よろしくお願いします。

    2010年6月14日 7:09

回答

すべての返信

  • 途中に Cache-Control: no-cache を理解しないプロキシが存在し
    ているということはありませんか?

    以下のページを参考に、HttpResponse.AppendHeader メソッドを
    使って、適切な設定を探してみてはいかがですか?

    プロキシキャッシュへのコンテンツ残留
    http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/405.html

    [HOWTO] Internet Explorer でキャッシュを無効にする
    http://support.microsoft.com/kb/234067/ja

    • 回答の候補に設定 山本春海 2010年6月17日 7:28
    • 回答としてマーク 山本春海 2010年6月25日 8:32
    2010年6月14日 12:43
  • SurferOnWss 様

    ありがとうございます。

     

    Default.aspx.vb の Page_Load に

    Response.Expires = 0
    Response.AddHeader("pragma", "no-cache")
    Response.AddHeader("cache-control", "private")
    Response.CacheControl = "no-cache"
    Response.Cache.SetCacheability(HttpCacheability.NoCache)

    と記述してみましたが、結果は変わりませんでした。

    プロキシサーバーのキャッシュを見ているようです。

    手詰まり気味ですが、引き続き調査してみます。

    2010年6月15日 1:41
  • > Response.Expires = 0
    > Response.AddHeader("pragma", "no-cache")
    > Response.AddHeader("cache-control", "private")
    > Response.CacheControl = "no-cache"
    > Response.Cache.SetCacheability(HttpCacheability.NoCache)
    >
    > と記述してみましたが、結果は変わりませんでした。

    それで実際の応答ヘッダーはどうなっているのか分かっているのでしょう
    か? MSDN ライブラリを読みましょう。

    2010年6月15日 12:12