Веб-сайт MVC4 / веб-приложение Рекомендуемая структура каталогов IIS
У меня есть веб-приложение MVC4
При настройке IIS7.5 я добавил приложение на "Веб-сайт по умолчанию" и настроил виртуальный каталог в http://localhost/myApplication
Тем не менее, это заставило меня изменить многие из моих вызовов контроллера (в частности, вызовы js ajax), которые я ранее вызывал в Cassini, например, "/Home/Index", теперь мне пришлось изменить их на "/ myApplication / Home / Index", чтобы они работать на моем местном IIS.
ТЕПЕРЬ, когда я публикую его на удаленном хостинг-сервере, я должен изменить его НАЗАД на "/Home/Index", чтобы он работал.
Это не может быть наиболее продуктивным способом прохождения цикла разработки -> тестирования -> производства. Какой шаг я пропускаю?
Я пытался создать виртуальный каталог приложений только на http://localhost/ без добавления имени приложения, чтобы я мог вызывать "/Home/Index" на всех трех этапах, но он жалуется, что http://localhost/ уже сопоставлен в inetpub/wwwroot.
Спасибо за ваше время.
2 ответа
Шаги таковы:
- Опубликуйте свой веб-сайт в новой папке в inetpub/wwwroot (или в месте, где хранятся ваши приложения), например "inetpub/wwwroot/myapp"
- Перейдите в управление IIS, создайте новый веб-сайт, назначьте ему любой свободный порт (например, 11001 или что-то, по крайней мере, > 1024) и укажите его в папке, начиная с шага 1. Свяжите его со всеми доступными IP-адресами или с 127.0.0,1
- Запустить сайт.
- Получите доступ к нему, используя http://localhost:11001/ (или любой другой порт, который вы установили)
Проблема в том, что по умолчанию любой браузер использует порт 80 для запроса веб-страницы, и этот порт используется веб-сайтом по умолчанию. Вы должны вручную переопределить его или создать сайт на другом порту. IIS обычно предупреждает вас о коллизиях портов.
Если вы не хотите, чтобы в адресе был номер порта, в качестве альтернативы вы можете работать с заголовком узла на порте 80. Возможно, вам придется сделать запись локального узла для заголовка узла, предоставленного сайту.