我正在尝试使用运行时 URI 字符串构造 WCF 客户端对象。这看起来很简单,但我已经没有什么东西可以尝试了,这似乎不是“错误的做法”。
原代码是这样的:
IPrototype p = new prototype.PrototypeClient();
我有点期待它能够像这样工作。
string uri = GetMeMyURI();
IPrototype p = new prototype.PrototypeClient(new URI(uri));
在不知道您的 PrototypeClient 类是什么的情况下很难判断出了什么问题,它是 WCF 代理吗?
以编程方式设置 WCF 客户端的基本机制是:
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress(GetMeMyURI());
PrototypeClient yourProxy = new PrototypeClient(binding, address);
编辑:
为了避免必须知道服务器绑定:
PrototypeClient yourProxy = new PrototypeClient();
yourProxy.Endpoint.Address = new EndpointAddress(GetMeMyURI(), null);