Перемещение бета-приложения MVC в виртуальный каталог удаляет все ресурсы - PullRequest
1 голос
/ 17 января 2009

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

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

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

Вместо:

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

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

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

Есть кое-что очевидное, чего мне не хватает в отношении маршрутизации URL-адресов mvc. Любое руководство здесь будет оценено.

1 Ответ

5 голосов
/ 17 января 2009

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

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

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

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

...