Вызов службы WCF без создания сборки

Я пытаюсь написать код на C #, который будет вызывать службу WCF на лету, импортируя WSDL, исследуя его, а затем выполняя вызовы динамически.

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

Одно из возможных решений - импортировать и компилировать ссылку на службу на лету.

Обрисовано здесь: Создание сборки «на лету» из WSDL

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

Я изучил код динамического прокси в ссылке, и они используют класс фреймворка для импорта. Это класс WsdlImporter . Итак, я отлично подумал - я могу использовать это и изучить схему WSDL и определить, какие вызовы присутствуют и какие входы и выходы доступны.

Проблема в том, что информация о типе отсутствует в объектах MessagePartDescription , которые создает WsdlImporter . По-видимому, этого нет , потому что он еще не может найти типы - см. Ответ на вопрос Брайана.

Итак, какие-нибудь советы о том, как мне действовать? Я здесь совершенно ошибаюсь?

8
задан TrueWill 24 January 2011 в 21:14
поделиться