Получить контракты WCF, реализованные сервисом - PullRequest
0 голосов
/ 20 января 2012

Есть ли у клиента возможность получить список контрактов, предоставляемых хостом WCF?

Я хотел бы запросить службу и спросить, какие интерфейсы она реализует.

Ответы [ 4 ]

2 голосов
/ 20 января 2012

Взгляните на WCF Discovery .

0 голосов
/ 20 января 2012

Лучшее, что вы сможете сделать, это посмотреть, что выставлено, и предположить, что это интерфейс.Вы не сможете увидеть все различные интерфейсы, которые реализует класс.Например, если у вас есть служба, которая реализовала IFooService и IDisposable, с IFooService, предоставляемым через WCF, вы сможете увидеть все методы IFooService от клиента.

Утилита WCF Test примет заданныйwsdl и сгенерируйте для него клиента, посмотрев на источник, который может быть хорошей отправной точкой.(вам придется декомпилировать его чем-то вроде отражателя)

Еще одна идея: вы можете программно вызвать svcutil для генерации клиента для данного wsdl, затем вызвать msbuild для его компиляции и использовать отражение для загрузки выходных данных.сборка.Это будет довольно большой объем работы, и я не уверен, что вы будете делать с этим.Вам придется создать довольно сложный интерфейс для проверки и вызова клиента.

0 голосов
/ 20 января 2012

Обычно (веб) службы описываются протоколами на основе XML, такими как WSDL. Это используется как для обнаружения сервисов, так и для описания их операций. Также иногда используется UDDI, но в основном для интеграции корпоративных приложений (внутреннее использование).

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

0 голосов
/ 20 января 2012

Это не поддерживается WCF.

Вы можете запросить контракт WSDL службы, но не контракты WCF или любые интерфейсы.

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