В настоящее время я пишу веб-интерфейс для некоторых проприетарных серверных программ.Сервер свободно основан на компонентах MEF, написанных как отдельные сборки, которые служат модулями.Веб-интерфейс будет обслуживать свои страницы как часть одного из модулей, и желательно, чтобы он выполнялся «в процессе», чтобы сбой модуля не поставил под угрозу весь сервер.
Я работаю над плюсами и минусами различных подходов к архитектуре внешнего интерфейса.У меня есть следующие варианты:
Обслуживание страниц HTML и обработка команд из службы WCF Restful.Используйте WebServiceHost, который запускается при инициализации модуля.
Используйте IIS 7.5 Express для настройки веб-сервера для определенного каталога.
У меня есть прототип № 1, но недостатком является то, что мне придется делать много кода инфраструктуры для обработки URL-адресов, создания шаблонов и так далее.Прямо сейчас я подаю страницы как встроенные ресурсы.У меня нет возможности использовать такие вещи, как ASP.NET MVC.
Мне любопытно узнать # 2, потому что, хотя IIS представляет большую зависимость, все преимущества ASP.NET MVC и другой инфраструктуры Microsoft (например, Razor) легко доступны.
Мои вопросы:
Есть ли недостатки в работе IIS Express в процессе?
Каковы подводные камни моего первоначального подхода при запуске веб-службы WCF RESTful.
Существуют ли другие легковесные контейнеры веб-сервера, которыми я могу воспользоваться, обладающие гибкостью ASP.NET для управляемых шаблонами страниц и взаимодействия с базой данных?
Любое дополнительное понимание / опыт, если вы пробовали что-то подобное.