13

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

望ましい: Cassini が 200 ではなく HTTP 304 (「変更されていません」) を返すことを望みます。これは、IIS7 でサイトを実行している場合の動作です。

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

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

では、IIS7 のように「コンテンツ」ディレクトリを処理するように Cassini に指示/トリックするにはどうすればよいですか?

4

3 に答える 3

27

問題はキャッシュにあると確信していますか? Cassini でアプリケーションを実行すると、コンテンツがマシンに正しくキャッシュされるためです。

あなたが抱えている問題は、IPv6 アドレスの解決に関する Firefox のパフォーマンス不足である可能性があると思います。これにより、http://localhost:55555のようなアドレスのロードで非常に厄介な遅延が発生します。

この動作を変更するために私が行ったことは、Firefoxのnetwork.dns.disableIPv6設定を onabout:configに変更することでした。trueそれを試してみることをお勧めします。

于 2009-04-27T22:07:53.153 に答える
15

Chromeでも同様の問題が発生しました。これを解決するには、ファイル内のIPv4localhost行のコメントを解除しhostsます。どうやらこれらはWindows7のデフォルトでコメントされています。

127.0.0.1       localhost
#::1             localhost
于 2010-06-10T12:17:08.780 に答える
2

もう 1 つのオプションは、単に Cassini をスキップして IIS でデバッグすることです。これは非常に簡単で、起動して実行するのに 10 分もかかりません。Cassini で 20 ページを閲覧しましたが、とにかくその時間を使いました ;)

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

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

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

mysite         127.0.0.1
于 2009-04-27T22:09:07.003 に答える