Как я могу решить эту проблему WCF? - PullRequest
0 голосов
/ 25 февраля 2011

Существует программа WCF (я назову ее «ABC»). Эта программа WCF («ABC») может размещать службу или подключаться к службе, которая размещала другую «ABC». Таким образом, «ABC» может быть основной программой или клиентской программой. Сначала «ABC» обнаруживает, что любой сервис, который размещен, если найдет, подключается к сервису. или разместить службу.

Если запускается «ABC», а затем - «ABC», «ABC», который запускается первым, будет хостом, а «ABC», запускающийся после, будет клиентом.

По этому вопросу у меня есть вопрос. Если два «ABC» запускаются в одно и то же время, два «ABC» не могут найти размещенный сервис all и хост соответственно каждый. Я хочу решить это. Хотя два «ABC» запускаются одновременно, первый должен быть хостом, а второй - клиентом. Как я могу это? Любой другой хороший алгоритм?

1 Ответ

0 голосов
/ 25 февраля 2011

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

...