2009-01-17 5 views
1

У меня очень хорошее приложение MVC Beta, разработанное с использованием VS2008 на сервере win2008. Мои проблемы начались, когда я попытался развернуть его в виртуальный каталог IIS6. После установки бета-версии MVC на целевом сервере win2003 я смог получить приложение для отображения из виртуального каталога, но все изображения и атрибуты css отсутствуют. Владельцы мест предполагают, что изображения должны располагаться на корневом веб-сайте, а не в виртуальном каталоге, на котором заканчивается приложение.Перемещение веб-приложения MVC Beta для виртуального каталога удаляет все/ресурсы для контента

Фактический путь:

http://localhost/Content/images/<myimage>.png 

Вместо:

http://localhost/<virtualdirectory>/Content/images/<myimage>.png 

Если установить приложение в своем собственном веб-сайте (Root) все работает отлично. Я могу дублировать это в VS2008, установив свойства сети «Использовать Visual Studio Development Server»/«Особый порт /» и добавьте виртуальный путь.

Я также могу продублировать это, установив свойства веб-сайта в проекте «Использовать локальный веб-сервер IIS» и создав виртуальный каталог.

Есть что-то очевидное, что я пропускаю в отношении маршрутизации mvc url. Любые рекомендации здесь будут оценены.

+0

расширения Html Helper является ответом. Я использовал один из новых шаблонов в галерее Mvc, и он написан для работы только в корне - проблема не проблема, как только я понял, что это действительно не проблема маршрутизации. – user51621

ответ

5

Как вы ссылались на изображения? Они должны начинать «~ /», что означает «корень приложения» («/» - это «корень сайта»), то есть «/Content/images/myimage.png».

Однако некоторые элементы управления отправят это клиенту без замены виртуального пути; для связанного потока (речь идет о js, но концепция одинаков), см. here (включает простой подход/пример).

Также - это виртуальное приложение? винтиком значок ...

Рассмотрим <base href...> тег в главной странице (в корне приложения)