Разрешение хоста службы - C # Эквивалент реестра RMI? - PullRequest
1 голос
/ 01 апреля 2009

Я рано учусь на магистерском курсе и делаю свой проект на C #, в то время как все остальные делают его на Java. Проект имеет 4 службы и требует сервера имен, который сопоставляет имена служб с сокетами. Преподаватель предлагает ученикам использовать RMI для создания этого реестра. Поскольку я не очень знаком с Java, а инструктор не очень знаком с .NET, мы не смогли придумать эквивалент в C #. Кто-нибудь знает об этом?

Обновление:

Я ищу способ обнаружить службу WCF, не зная явно ее сокет.

Обновление 2:

Я буду демонстрировать проект на своем ноутбуке с XP, используя сервер VS 2008 / WebDev.

Ответы [ 4 ]

2 голосов
/ 01 апреля 2009

Вы можете использовать сервер UDDI, который поставляется с Windows Server 2K3 / 8. Это даст вам раскрытие ваших услуг. Кроме этого вам понадобится пакет третьей стороны или ваш собственный.

1 голос
/ 14 апреля 2009

RMI Registery в java работает как контейнер, где вы можете искать сервисы по ключу. Этот механизм аналогичен разрешению служб / объектов через ServiceLocator (например, шаблон ServiceLocator), где вы используете механизм внедрения зависимостей и просите его разрешить экземпляр службы (то есть по известному имени, по интерфейсу и т. Д.):

IMyService service = ServiceLocator.Resolve<IMyService>();

или

IMyService service = (IMyService)ServiceLocator.Resolve(typeof(IMyservice));

WCF работает только в режиме одного сервиса и хоста одного сервиса, что означает, что для каждого отдельного сервиса требуется отдельный хост сервиса. Вы можете написать контейнер службы, который объединяет узлы службы, открывает порт и регистрирует их в контейнере DI, а затем просто запрашивает экземпляр службы, как упомянуто выше.

1 голос
/ 07 апреля 2009

Я не эксперт по Java Remoting.

Я думаю, что то, что вы ищете, называется в терминах WCF Service Endpoint. Это можно сделать либо в файле конфигурации , либо через код .

Для обзора WCF я бы сослался по этой ссылке: Архитектура Windows Communication Foundation

0 голосов
/ 07 апреля 2009

Прочтите о TCP Port Sharing , новая технология в Windows Server 2008, она может помочь вам

...