Настройка виртуального каталога при использовании IIS для отладки ASP.NET MVC - PullRequest
11 голосов
/ 04 мая 2009

Я пытаюсь использовать IIS для отладки ASP.NET MVC в Visual Studio. Проблема в том, что если я выберу «Использовать локальный веб-сервер IIS» в Visual Studio, мне придется выбрать виртуальный каталог, например, http://localhost/myapp/

Это проблема, поскольку предполагается, что приложение ASP.NET MVC запускается из корневого каталога, а MVC будет анализировать «myapp» как контроллер, а когда я запускаю приложение из Visual Studio / IIS, последующие запросы будут в любом случае направлено в корень.

Как решить эту проблему? Есть ли способ использовать корневой каталог веб-сайта IIS вместо виртуального каталога для отладки Visual Studio?

Ответы [ 5 ]

2 голосов
/ 05 мая 2009

Вы говорите, что

предполагается, что приложение ASP.NET MVC запускается из корневого каталога, а MVC будет анализировать "myapp" как контроллер

Однако ASP.NET MVC можно запустить из виртуального каталога, добавив сопоставление с подстановочными знаками, как описано в этой статье:

ASP.NET MVC в IIS 6: пошаговое руководство

См. Также этот вопрос здесь о stackoverflow и принятый ответ , в котором описаны действия, предпринятые для решения аналогичной проблемы:

ASP.NET MVC Как использовать маршруты, когда приложение публикуется как подпроект домена?

2 голосов
/ 05 мая 2009

Да, вы можете запустить ASP.NET MVC в качестве корневого приложения.

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

Затем внесите соответствующие изменения на вкладке «Веб» настроек проекта для MVC в Visual Studio.

Предполагается, что у вас уже правильно настроены права доступа к файлу Windows для IIS.

1 голос
/ 24 ноября 2009

Перезапись URL может помочь вам решить проблему. Я реализовал решение, позволяющее развернуть приложение MVC на любой версии IIS даже при использовании виртуального хостинга. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

1 голос
/ 12 мая 2009

Вы также можете использовать Отладка-> Присоединить к процессу из Visual Studio вместо Начать отладку.

Присоединитесь к aspnet_wp.exe, и вы сможете отлаживать приложение MVC независимо от того, находится оно в виртуальном каталоге или нет.

1 голос
/ 05 мая 2009

Зайдите в свойства вашего сайта (в меню проекта). Выберите веб-вкладку внизу и введите то же имя виртуального каталога, которое вы используете в IIS, в поле виртуального пути. Это может решить вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...