Как использовать домены приложений в приложении ASP.NET 4 WebForm? - PullRequest
3 голосов
/ 30 августа 2011

Домены приложений в IIS / ASP.NET

Учитывая, что портал ASP.NET WebForms размещен в IIS, и использование изолированных модулей, написанных на ASP.NET MVC3, какой API-интерфейс следует использовать при выполнении модулей во время выполнения?

  1. AppDomain API
  2. ApplicationHost API
  3. AppManagerAppDomainFactory class
  4. Не подходит, используйте встроенные механизмы изоляции IIS и найдите другой способ размещения сгенерированного MVC3 контента в структуре MasterPage портала
  5. ??

Фон

У нас есть устаревший пользовательский портал с множеством приложений, написанных с использованием C # / WebForms. В настоящее время портал и все приложения живут в одном проекте; все они развернуты одновременно. Я хотел бы отделить приложения от портала, внедрить их как модули для портала и изолировать выполнение каждого модуля во время выполнения. Мы хотели бы перенести / переписать каждое приложение в ASP.NET MVC 3.

Поскольку мы портируем каждое приложение, мое первоначальное мышление заключается в том, чтобы портал обрабатывал каждый запрос, загружал приложение / модуль в домен приложений, переадресовывал запросы к модулю, получал сгенерированный html и помещал его в ContentPlaceHolder портала MasterPage. Прежде чем идти по этому пути, я подумал, что было бы разумно получить некоторую проверку StackOverflow по основам.

1 Ответ

2 голосов
/ 30 августа 2011

Изолирование плагинов / модулей в отдельном домене приложений полезно, когда плагины предоставляются сторонней организацией, и вы хотите применить строгие ограничения безопасности к плагину.Когда вы сами написали плагины, этот уровень изоляции не является необходимым и контрпродуктивным.

Вы можете достичь необходимого уровня изоляции с помощью соответствующих ссылок на проекты.Определите отдельный проект, который содержит интерфейсы для API подключаемого модуля и любые связанные объекты значений.Ваши плагины ссылаются на этот проект и реализуют соответствующие API.Тогда ваше хост-приложение должно ссылаться на плагины только через этот API.Это обеспечивает разделение кода и упрощает обслуживание без необходимости управлять несколькими доменами приложений.

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