2012-02-09 12 views
2

サードパーティによって開発されたアプリケーションがあり、特定のページのキャッシュコントロールに追加するように戻す必要はありません。Web.config経由で特定の場所のみのキャッシュヘッダーを追加する

キャッシュを必要とするすべてのページが1つのディレクトリにあります。

問題は、IEがCache-control:nocacheを正しく実行していないように見えることです.Pragma:nocacheとcache ageも追加する必要があります。

ディレクトリ内のconfigsを使ってこれを行う方法はありますか?すべての子ディレクトリをカスケードしますか?メインweb.config経由でそれを行うことはできますか?

明確にするには、私はコードでこれを行う方法を探していません。IISまたはweb.configファイルの設定を経由する必要があります。

IIS 6.0ではASP.NET 2.0と4.0を使用しています。

答えて

3

これは、それが実際には非常に簡単です、UIを使用してIISで行うことができ、あるいは少なくともそれは私のユースケースにあった上でそれを行うことができます。

IISマネージャーを開くだけで、サイトに移動し、右クリック - >プロパティにヘッダーを追加するディレクトリに移動します。

[ヘッダー]タブをクリックし、必要なヘッダーを追加します。

これは、子ディレクトリを再帰的に実行し、コードによって追加されたものの前にヘッダーを追加します。

IIS 7.0/7.5では、各ディレクトリのweb.configのStaticContentセクションを使用できます。

+0

私からそれを見つけるには+1.5を取得してください:) – Aristos

+0

私のアプリケーションはMVC3アプリケーションです。 – Krunal

+0

私は道を知っていませんが、web.configの ''セクションにこの機能がありますか?私は何にも出くわしたら戻ってきます – Martin

1

あなたがGlobal.asaxの

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    HttpApplication app = (HttpApplication)sender; 
    string cTheFile = HttpContext.Current.Request.Path; 

    if (cTheFile.Contains("/ExtraDir/")) 
    { 
     // add your header here 
     app.Response.AppendHeader("Pragma", "no-cache");  
    } 

    //... rest code of... 
} 
+0

応答に感謝しますが、コードベースではなく設定でこれを行う理由を探しています。 – Martin

+0

という追加のヘッダーをIISメタベースによって読み込むことができるという質問を更新します。つまり、これを行うことができます。 IIS7.0の静的コンテンツ要素を介して行うこともできます。 – Martin

+0

あなたはディレクトリ単位でそれを追加することができます。それは質問です。それらはすべて単一のディレクトリにあります。ヘッダーは、それが見えるディレクトリからすべてに追加できます。 – Martin

関連する問題