有没有办法在不使用codedom的情况下动态创建WCF代理对象?在运行中,我的意思是在运行时。因此,假设我有一个正在访问WCF服务的智能客户端应用程序。在客户端运行时更改WCF服务的数据协定。我想动态创建一个反映已更改数据协定的新代理对象。
答案 0 :(得分:4)
您应该阅读这篇文章:WCF the Manual Way… the Right Way
并研究使用ChannelFactory类。如果合同即时更改,您将有很多反思来创建和调用成员,但我想不出您应该无法做到的任何理由。
答案 1 :(得分:0)
我提出了一个解决方案,使用共享程序集进行合同和端点接口。
所以项目将是
带代理的客户端
公共类YourProxy:ClientBase {}
答案 2 :(得分:0)
在运行中做太多事情要小心。即使使用反射,也可能太容易将客户端/代理/服务/合同连接在一起。
创建手动代理并将其添加为对客户的参考是个绝妙的主意。