Контракты обратного вызова WCF и сервер-сервер - PullRequest
0 голосов
/ 24 февраля 2010

Я разрабатываю решение с несколькими службами WCF, которые взаимодействуют между собой, даже если они разных типов. Сервисы соединяются друг с другом через общий интерфейс ChannelFactory, и каждый сервис размещается внутри ServiceHost.

У меня вопрос: будет ли правильно использовать контракт обратного вызова между серверами для связи друг с другом, и если да, то как бы выглядело такое решение.

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

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

1 Ответ

0 голосов
/ 24 февраля 2010

Прежде всего, всякий раз, когда вы публикуете вопрос, говорящий «это не удалось», вы должны сообщить нам, каким образом это не удалось.Если возникло исключение, то вам нужно опубликовать все исключение, включая все экземпляры InnerException, опубликовав результат ex.ToString().

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

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

...