23

最近、後回しにされていた Web サイト プロジェクトに戻ってきました。作業を再開してから、Visual Studio 開発サーバーで実行しているときに、css と javascript の変更がアプリケーションによって認識されないことに気付きました。これは以前はうまくいきました。スタイルシートと JavaScript を変更し、アプリを実行してテストすることができました。現在、アプリケーションをテストできる唯一の方法は、アプリケーションをローカルの IIS サーバーに公開することです (ただし、PC を再起動すると問題も解決すると思います)。

Visual Studio 2008 (9.0.30729.1) の使用

正しく動作していることを確認してから変更されたのは、Vista x64 Home Premium Edition から Win 7 x64 Ultimate へのオペレーティング システムであり、プロジェクト ソースを c: から d: に移動しました。私は C: に戻りましたが、同じ否定的な結果が得られました。また、コンソール アプリ (2 つのサービス ホスト) によってホストされる別の WCF サービスにいくつかの機能を移動しました。これらのサービスは、Web サイトがデバッグで起動したときにデバッグに入れられます。

開発サーバーを停止しても何も起こりません。(VSS 2005 を使用して) すべてのファイルをチェックアウトして、読み取り専用のものがないことを確認しても、何も起こりません。IIS に発行するか、マシンを再起動することだけが機能します。どちらも望ましくありません。以前のコピーを使用しないようにするために、デバッグを停止するたびに終了する必要があるプロセスがあれば、それで十分です。

解決策はありますか?

4

4 に答える 4

33

サーバーがブラウザにヘッダーを送信している可能性があり、キャッシュされたコピーを使用し続けます。これをテストする簡単な方法は、ブラウザのキャッシュを にする ことです。

これで問題が解決した場合は、サーバーから取得したHTTP ヘッダーを調べる必要があります。選択したブラウザーの開発者 ツール(別名F12 ツール) は、サーバーから返されたヘッダーを公開します。次に、これらのキャッシュ設定を使い続けるか (速度に適しています)、変更するか (開発に適しています) を決定します。

そして、これらのヘッダーをどのように調整しますか? サーバーによって異なります。一般的なサーバーの手順へのリンクは次のとおりです。

于 2009-10-14T00:17:48.997 に答える
10

簡単な方法は、スクリプトまたは css ファイルの src 属性の後にランダムなパラメーターを追加することです。例えば

<script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script>

そのため、ブラウザは常に新しいファイルと見なし、キャッシュしません。

ライブサーバーにデプロイするときは、これを必ず削除してください。

于 2012-04-11T20:40:50.307 に答える
0

使ってみて

<link href"~/Content/Style.css" rel="stylesheet"/>

バンドルと一緒に。これは私のために働いた

于 2015-08-05T11:21:58.807 に答える