Настройка IIS (Windows 7) для ASP.NET/ASP.NET MVC 3
Я занят работой с приложением ASP.NET MVC 3 и с использованием Windows 7. В настоящее время он использует встроенный веб-сервер для запуска веб-приложения. Я бы хотел, чтобы он работал в IIS. Есть ли какой-либо совет, который мне нужно знать, когда он настроен для работы в IIS?
Парень с работы сказал, что мое веб-приложение ДОЛЖНО находится в каталоге wwwroot для работы IIS. Мое понимание этого заключается в том, что если я создал виртуальный каталог (веб-приложение может быть в любом каталоге), то я должен быть в порядке?
Кроме того, есть ли приличные книги, которые я могу купить, которые могут помочь мне лучше понять IIS? Это не должно быть специфичным для ASP.NET MVC. Единственное, что я знаю, как сделать в IIS, - создать виртуальный каталог:)
Как я тогда отлаживаю приложение, когда оно работает в IIS?
Любые советы и интернет-статьи будут оценены:)
Ответы
Ответ 1
Вы можете использовать VS.NET для работы для вас. На странице свойств проекта перейдите на вкладку "Веб" и выберите "Использовать локальный веб-сервер IIS". Укажите желаемый URL и VS. сделает все остальное.
Чтобы ответить на ваш вопрос конкретно, ваш сайт не должен быть подпапкой корневой папки IIS, чтобы это работало, и отладка будет работать как обычно.
FYI: Я никогда не пользуюсь веб-сервером разработки и всегда использовал IIS. Большая часть моего проекта - это подпапки корневой папки IIS, и я вручную редактирую файл .proj, чтобы указать его на нужное место. Но это не требуется для работы.
С помощью диспетчера служб IIS вы можете сделать гораздо больше, чем создавать виртуальные папки. Все довольно просто.
Однако, что касается IIS и ASP.NET в целом. Я бы посоветовал вам ознакомиться с пулами приложений и их моделью процессов (различные опции в ProcessModel, а также в других разделах).
MSDN и http://www.iis.net/, как правило, являются хорошими местами для получения достоверной информации обо всех вещах IIS.
Edit:
Кроме того, вы можете также взглянуть на недавно представленный IIS Express. Он фактически заменяет сервер разработки и действительно является IIS 7 для всех целей и задач, поэтому все возможности IIS 7 доступны. Кроме того, вам не нужно запускать VS как администратор, если по какой-то причине вы не можете.
Если вы можете запускать VS.NET как администратор на своем компьютере, я бы предложил использовать IIS 7.
Ответ 2
Возможно, вы захотите проверить следующую статью о развертывании приложений ASP.Net MVC в IIS:
Обычно развертывание приложения ASP.Net MVC в IIS7 очень похоже на развертывание стандартного приложения ASP.Net с дополнительным требованием для компоновки времени выполнения MVC.
Чтобы ответить на некоторые из ваших других квестов:
- Поддерживается ли мое приложение в каталоге wwwroot для IIS?
Нет, это неверно - вы можете использовать виртуальный каталог, если ваше приложение не находится в каталоге wwwroot.
- Как отладить мое приложение, когда оно запущено в IIS?
Вам необходимо подключиться к процессу w3wp.exe
с помощью Visual Studio с помощью команды "Отладка" → "Прикрепить к процессу..." - после того, как вы подключены, опыт отладки должен быть аналогичен при запуске приложения, используя F5.