ASP.NETカッシーニのMVC:200sではなく304sを返すために「コンテンツ」ディレクトリを強制するにはどうすればよいですか?



asp.net-mvc visual-studio-2008 (2)

Chromeでも同じような問題がありました。 これを解決するには、 hostsファイル内のIPv4 localhost行のコメントを外します。 どうやらこれらはWindows 7ではデフォルトでコメントされています。

127.0.0.1       localhost
#::1             localhost

https://ffff65535.com

シナリオ :Visual Studio 2008で開発されたASP.NET MVCアプリケーションがあります。画像とスタイルシートを格納する "Content"という名前のルートフォルダーがあります。 (Cassiniを使用して)ローカルで実行して自分のアプリケーションを参照すると、 "Content"ディレクトリからすべての リソース常にダウンロードされます。 Firebugを使用して、WebサーバーがHTTP 200( "ok")を返すことを確認できます。

目的 :Cassiniが200ではなくHTTP 304( "変更されていない")を返すようにします。これは、IIS 7でサイトを実行しているときの動作です。

推論 :私が取り組んでいるサイトは多数の静的リソースを持っています(多くの場合1ページに40個もあります)。 これらのリソースはブラウザによって(正しく)キャッシュされているため、IIS 7ではサイトの閲覧は非常に高速です。 しかし、私のローカルマシンでそのサイトを閲覧するのはとても遅いです。

IIS 7で1秒未満でレンダリングされるページがCassiniでレンダリングされるまでに30秒以上かかります。 数分ごとにWebサイト全体をアップロードし、そこからテストするが実際には高速です。 (はい、これはひねくれていてクレイジーだと思います)

それでは、 どのようにしてCassiniにIIS7のように "Content"ディレクトリを処理させることができますか。


もう1つの選択肢は、CassiniをスキップしてIISデバッグすることです。 それはかなり簡単です、そして立ち上がるのに10分かかりません。 Cassiniであなたのページの20を閲覧すれば、とにかくその時間を使いました;)

私が気づいたことの一つは、いつもガイドにあるとは限らない、あなたがhttp://localhost/以外のアドレスでデバッグしたいのなら、手動であなたのローカルIISにホストを設定する必要があるということです。 これは、 hostsファイルに次の場所に行を追加することによって行われます。

C:\ Windows \ system32 \ drivers \ etc \ hosts

メモ帳でファイルを開き(Windows Vistaを使用していて、ユーザーアカウント制御を有効にしている場合は保存できるように "管理者として実行"する必要があります)、ホストを追加します。 たとえば、 http://mysite/下でデバッグするには、次のように追加します。

mysite         127.0.0.1




cassini