Подтвердить что ты не робот

ASP.NET MVC на Cassini: как я могу заставить каталог "content" возвращать 304s вместо 200s?

Сценарий. У меня есть приложение ASP.NET MVC, разработанное в Visual Studio 2008. Существует корневая папка с именем "Содержимое", в которой хранятся изображения и таблицы стилей. Когда я запускаю локально (используя Cassini) и просматриваю приложение, каждый ресурс из каталога "Контент" всегда загружается. Используя Firebug, я могу проверить, что веб-сервер возвращает HTTP 200 ( "ok" ).

Желаемый. Я бы хотел, чтобы Cassini возвращал HTTP 304 ( "не изменен" ) вместо 200. Это поведение при запуске сайта под IIS7.

Рассуждение. На сайте, на котором я работаю, имеется большое количество статических ресурсов (часто до 40 на страницу). Просмотр сайта очень быстро на IIS7, потому что эти ресурсы (правильно) кэшируются браузером. Тем не менее, просмотр сайта на моей локальной машине очень медленный.

Страницы, отображающие менее 1 секунды на IIS7, занимают более 30 секунд для рендеринга на Cassini. Мне действительно быстрее загружать весь сайт каждые несколько минут и проверять оттуда. (Да, я признаю, что это извратно и безумно.)

Итак: как я могу инструктировать/обмануть Cassini для обработки каталога "Content", например IIS7,?

4b9b3361

Ответ 1

Вы уверены, что проблема в кешировании? Поскольку содержимое действительно кэшируется правильно на моем компьютере, когда я запускаю приложение на Cassini.

Я думаю, что проблема, с которой вы столкнулись, может быть недостаточной для Firefox с разрешением адресов IPv6, что вызывает очень раздражающую задержку при загрузке с адресами, такими как http://localhost:55555.

Что я сделал, чтобы изменить это поведение, было изменение предпочтения network.dns.disableIPv6 на about:config до true в Firefox. Я предлагаю попробовать это.

Ответ 2

У меня была аналогичная проблема в Chrome. Чтобы устранить эту несогласованность в строке локального хоста IPv4 в файле hosts. По-видимому, они прокомментированы по умолчанию в Windows 7.

127.0.0.1       localhost
#::1             localhost

Ответ 3

Другим вариантом для вас является просто пропустить Cassini и debug в IIS. Это довольно просто, и вам не понадобится десять минут, чтобы встать и бежать. Просмотрите 20 своих страниц на Cassini, и вы все равно использовали это время;)

Одна вещь, которую я заметил не всегда в руководствах, заключается в том, что если вы хотите отлаживать другой адрес, чем http://localhost/, вам нужно вручную установить хост в локальный IIS. Это делается путем добавления строки в файл hosts, расположенный в

C:\Windows\system32\Drivers\Etc\хостов

Откройте файл с помощью блокнота (вам нужно "Запуск от имени администратора", чтобы иметь возможность сохранять, если вы используете Windows Vista и включен контроль учетных записей пользователей...) и добавьте свой хост. Например, для отладки в http://mysite/ вы добавляете

mysite         127.0.0.1