Как организовать композитные приложения для предприятия (CAG)

StackOverflow https://stackoverflow.com/questions/2963967

Вопрос

Все примеры QuickStarts и RI в документации CAG хороши, но мне не хватает примеров корпоративных масштабов.

Допустим, у нас есть более 40 модулей, каждый из которых содержал прокси, фасад, презентацию, модель и представления. Каждый модуль также делает вызовы в службу WCF, специфичную для модуля, которая должна быть размещена в IIS или на отдельном консольном хосте. Наш подход заключался в том, чтобы включить модуль UI, модуль сервиса и связанные с ними тесты в одно решение, чтобы их можно было разработать и протестировать отдельно от других модулей.

Моя проблема заключается в том, как следует выполнять хостинг служб, когда службы находятся в отдельных модулях и как фактически запустить отдельный модуль вместе с остальными модулями приложения, когда я нажимаю на F5. Есть ли лучшая практика для этого? Я думаю, это было сделано раньше?

Это было полезно?

Решение 2

В итоге мы получили довольно простое решение, где мы включили проект хостинга в качестве проекта «стартап» в решение. Проект настроен не создавать и иметь зависимости модуля.

Все услуги DLL: S выводится в общую папку, где хост -проект динамически загружает их, ищите атрибут ServiceContract и запускает хост.

Другие советы

Вы, безусловно, можете разместить каждый модуль в качестве приложения или экземпляра виртуального каталога для точек обслуживания, но я думаю, что можно сказать, что вы позволяете разработке «удобство» раздела решения диктуйте архитектуру производства для ваших услуг? Обычно мы обрабатывали это на основе слоев, а не на модульных разделах - другими словами, у вас будет проект с доменами/моделями, а другой - с услугами, тогда каждый «модуль» может ссылаться на общий пул услуг. Я предполагаю, что это зависит от того, насколько взаимосвязаны модули, сколько там кросс -общения и т. Д.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top