Может ли на одном веб-сайте IIS размещаться несколько веб-приложений разных версий ASP.NET? - PullRequest
2 голосов
/ 28 марта 2012

У меня есть один веб-сайт в IIS, и я хотел бы иметь приложения версии 2, 3.5 и 4, размещенные на одном веб-сайте IIS. Это возможно?

Думаю, это будет так же просто, как изменить web.config. До сих пор я создал сайт ASP.NET 3.5 в корневом каталоге. Затем я создал каталог и развернул сайт ASP.NET 2.0. Пока что, когда я просматриваю сайт 3.5, он выглядит нормально. Однако на сайте 2.0, когда я захожу в каталог default.aspx, я получаю:

Описание: во время анализа ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите следующую конкретную информацию об ошибке разбора и измените исходный файл соответствующим образом.

Есть мысли?

Спасибо.

ОБНОВЛЕНО, чтобы показать полную ошибку (не уверен, поможет ли это)

enter image description here

Ответы [ 5 ]

4 голосов
/ 14 мая 2014

На одном IIS можно разместить несколько приложений, размещенных на одном веб-сайте. Сделайте следующее:

1.) Добавьте веб-сайт в свой IIS

2.) Перейдите к физическим папкам на вашем жестком диске / ftp-сервере и определите папки, в которых ваши приложения должны находиться на веб-сайте, например: [] = folder () = file

=====> [корень]

==========> (web.config)

==========> [бен]

==========> [сайты]

==========> [изображения]

==========> [приложение 1]

====================> (web.config) (очистить и перезаписать унаследованные настройки)

====================> [бен]

====================> [сайты]

====================> [images]

==========> [приложение 2]

====================> (web.config) (для очистки и перезаписи унаследованных настроек)

====================> [бен]

====================> [сайты]

====================> [images]

3.) Вернитесь в диспетчер IIS и выберите «Пулы приложений» и «Добавить новый пул приложений». Назовите это «приложение 1». Повторите это и назовите второе «приложение 2»

4.) Выберите свой веб-сайт слева и просмотрите папки, которые вы только что создали. Щелкните правой кнопкой мыши на папке «приложение 1» и выберите «преобразовать в приложение». Сделайте то же самое для папки «Приложение 2». Каждый раз, когда вы делаете это, выбирайте пул приложений из шага 3.)

5.) Вы готовы. Теперь, когда вы помещаете код в папку «bin» «application 1» или «application 2», он выглядит как отдельное и отдельное приложение.

6.) Имейте в виду, что все свойства web.config из папок выше «application 1 или 2» наследуются. Вы можете перезаписать их, используя свой собственный файл web.config в папке «application 1 или 2», используя теги «clear» или теги «remove» и «add». Скорее всего, вы определили файл web.config для корневой папки вашего сайта. Этот файл web.config будет унаследован вашими приложениями.

4 голосов
/ 28 марта 2012

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

Но это не ваша проблема

В случае вашего приложения у вас возникают проблемы с веб-приложением .NET 2.0 и веб-приложением .NET 3.5, которые используют одну и ту же версию .NET (CLR 2.0). Проблема, с которой вы сталкиваетесь, заключается в том, что вспомогательное приложение не помечено как отдельное приложение, поэтому среда выполнения ищет неправильное место для сборки, чтобы загрузить ваш тип.

Содержание вашего сайта, вероятно, выглядит примерно так:

root (~/)
- bin
  * app.dll
- sub-app
  - bin
    * subapp.dll

Когда подпап запускается, он пытается загрузить тип Second.Namespa._Default, но путь сборки - ~ / bin (root / bin), который не содержит правильную сборку. Если вы пометите вложенное приложение как свое собственное приложение в IIS, вы получите следующее:

root (~/)
- bin
  * app.dll
- sub-app (~/ again for anything below)
  - bin
    * subapp.dll

Теперь при загрузке Second.Namespa._Default заглянет в ~ / bin (теперь это под-приложение / bin), найдет правильную сборку и сможет загрузить тип.

1 голос
/ 28 марта 2012

Обязательно выберите и настройте отдельный пул приложений для второго сайта / приложения.

1 голос
/ 28 марта 2012

Вы можете разместить все версии .NET в одном IIS, если вы разделите сайты на пулы приложений.Внутри пула приложений каждое приложение запускается одной и той же версией .NET (устанавливается для пула)

1 голос
/ 28 марта 2012

Можете ли вы опубликовать более подробную информацию об ошибке? ...

Да ... вы можете это сделать ... вы можете создать "Приложение" на веб-сайте в IIS ... и это приложениеможет использовать совершенно другой пул приложений и может работать с другим .NET framweork ...

...