Запуск собственных услуг WCF по запросу - PullRequest
0 голосов
/ 25 февраля 2011

Можно ли запускать службы WCF, размещенные самостоятельно, по требованию?

Я вижу два варианта для этого:

  • Вставить прослушивательна собственном веб-сервере WCF и раскрутить хост службы при поступлении запроса на конкретную службу, прежде чем WCF начнет искать существование этой конечной точки;или

  • Интеграция веб-службы в процесс, запуск хоста сервиса для запроса, если он еще не выполняется, и перенаправление запроса на этот хост сервиса (как я подозреваю, IIS).

Я не могу использовать IIS или WAS, поскольку веб-службы должны работать в соответствии с бизнес-логикой пользовательского интерфейса.

Что возможно и как я могу выполнитьэто?

РЕДАКТИРОВАТЬ:
Я не могу просто запустить сервисные хосты, потому что есть сотни, большинство (около 95%) из которых (почти) никогда не используются, но нуждаютсябыть доступным.Это предназначено для раскрытия слоя бизнес-логики из 900 объектов.

Ответы [ 2 ]

1 голос
/ 26 февраля 2011

Пошел следующий маршрут:

  • Создание одного хоста службы;

  • Создать динамический прокси, который реализует все сервисные интерфейсы;

  • Добавить конечную точку службы для каждого интерфейса, реализуемого динамическим прокси;

  • Отправка в правильную реализацию из динамического прокси.

1 голос
/ 26 февраля 2011

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

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

Здесь есть некоторые проблемы проектирования - концепция «вызова одного сервиса перед вызовом другого» на некотором уровне, вероятно, считается плохой идеей (звучит как соединение двух сервисов).

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