Некоторые характеристики:
- IIS 7.5
- ASP.Net MVC3
У меня есть три приложения MVC3, которые я хотел бы разместить:
- Проект А
- Проект Б
- Проект C
Я хочу, чтобы URL-адреса были такими, соответственно:
Итак, в IIS у меня есть веб-сайт по умолчанию, который указывает на папку для ProjectA. Затем я добавил к нему два приложения, одно из которых указывает на ProjectB, а другое - на ProjectC, а также их соответствующие папки на жестком диске. Я храню сайты в C: \ sites. У каждого проекта есть папка в C: \ sites, где находятся файлы приложения. Как видите, сайты на сервере вообще не вложены.
Когда я загружаю http://domain/ProjectB, он пытается загрузить значения конфигурации из ProjectA web.config. Очевидно, это не то, что я хочу, и я не так уж хорош в настройке сервера. Я заставил его работать, заключив большую часть ProjectA web.config в тег местоположения, например:
<location path="." inheritInChildApplications="false" >
<!-- Lots of web.config stuff for ProjectA -->
</location>
Я не совсем фанат этого, это неправильно. Мне кажется, что вложенное приложение на моем сайте в IIS не должно даже знать о родительском сайте. Что я делаю неправильно? Я уверен, что это что-то действительно маленькое. Я бы сделал ProjectA приложением, но мне не нужен псевдоним, так как я хочу http://domain/ чтобы подтянуть его для пользователей.
Опять же, я не очень разбираюсь в серверных вещах, мне это просто неинтересно, поэтому я спрашиваю вас всех!
Спасибо!