0

Visual Studio 2012でASP MVC単一ページアプリケーションを開発中です。静的JS/CSS/HTMLファイルごとにロードされます。このアプローチは、スタティックがブラウザによってキャッシュされているので、実際にはバンドルする必要はありませんが、devで問題があります。現時点で作業中のファイルをリフレッシュするためにキャッシュを無効にする必要があります。小さな静的ファイルがロードされ、各ページのリフレッシュに約40秒かかります。Asp Mvc開発では、JS/CSS/HTMLファイルのキャッシュを選択的に無効にしています。現在作業中です

私は現在Chrome Workspacesを検討していますが、より普遍的な実行可能な解決策は、修正日が過去30分以内のファイルに対してキャッシュを特に無効にすることだと思います。

私はVS/ASP(カスタムHTTPハンドラ?)で最近変更されたファイルのキャッシュを無効にするための代替ソリューションまたは既存のコンポーネントを探しています。

答えて

0

IISまたはIIS Expressを使用していると仮定すると、最も簡単な解決策は、web.configファイルに設定を追加して、開発環境で完全にキャッシュを無効にすることです。

注:あなたは何web.configファイルを持っていない場合は、あなたのウェブサイトのルートディレクトリに1を作成することができます。あなたはこれらのセクションを削除するために、ご使用のリリース時にweb config transformationを使用することができ、いずれの場合も

<configuration> 
    <location path="path/to/the/file"> 
    <system.webServer> 
     <staticContent> 
     <clientCache cacheControlMode="DisableCache" /> 
     </staticContent> 
    </system.webServer> 
    </location> 
</configuration> 

<configuration> 
    <system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Cache-Control" value="no-cache" /> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 
</configuration> 

また、あなたのウェブサイトの特定の場所にあるファイルのキャッシュを無効にすることができますテスト/運用環境

<?xml version="1.0" encoding="utf-8"?> 

<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 --> 

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <!-- Use this section if you are disabling caching site-wide --> 
    <system.webServer> 
     <httpProtocol> 
      <customHeaders> 
       <add name="Cache-Control" value="no-cache" xdt:Transform="Remove" xdt:Locator="Match(name)" /> 
      </customHeaders> 
     </httpProtocol> 
    </system.webServer> 

    <!-- Use this section if you are disabling per folder (duplicate if necessary) --> 
    <location path="path/to/the/file" xdt:Transform="Remove" xdt:Locator="Match(path)"> 
     <system.webServer> 
      <staticContent> 
       <clientCache cacheControlMode="DisableCache" /> 
      </staticContent> 
     </system.webServer> 
    </location> 
</configuration> 

参考:How do I disable caching of an individual file in IIS 7 using weserver config settings

+0

だけ別のフォルダに存在するサードパーティのLIBSのため、我々はすでにこれを試してみた、それは問題の一部を軽減。コンポーネントを使用すると、フォルダ全体をカバーしている場合や、現在作業中のコンポーネントにパスを切り替えるのを覚えていない場合でも理想的ではありません。 –

+0

いくつかのオプションについては、[この質問](http://stackoverflow.com/q/5690269/181087)の回答を参照してください。 – NightOwl888

+0

私はそれを見たことがありますが、afaics、提案された解決策は、私が探しているものではなく、 "すべてかどうか"のアプローチです。 –

関連する問題