我试图在C#中编写一些代码,通过导入WSDL,检查它然后动态调用它来动态调用WCF服务.
我正在调用的服务可能会不时更改 - 所以如果它确实如此,我希望我的客户端知道新方法和新输入参数以及调用的输出参数,而无需重建我的客户端.
一种可能的解决方案是动态导入和编译服务引用.
这里概述:从WSDL动态创建程序集
我想避免生成一个组件,然后尽可能地反射它.
我查看了链接中动态代理的代码,他们使用框架类来进行导入.这个班是WsdlImporter.所以我认为很好 - 我可以使用它并检查WSDL模式并确定存在哪些调用以及可用的输入和输出.
问题是创建的MessagePartDescription对象中缺少类型信息WsdlImporter.显然这是因为它无法找到类型而丢失- 请参阅Brian对问题的回答.
那么关于我应该如何进行的任何建议?我在这里走错了路吗?