C# 如何使用特定的Url地址初始化wcf客户端?
我记得ASMX有一个简单的解决方案:C# 如何使用特定的Url地址初始化wcf客户端?,c#,.net,wcf,C#,.net,Wcf,我记得ASMX有一个简单的解决方案: MyAsmxServiceClient serviceClient = new MyAsmxServiceClient("http://myServiceLocation/myService.asmx"); 如何使用WCF实现同样的效果?在相同的行上,binding=您正在使用的绑定类型 BasicHttpBinding binding = new BasicHttpBinding(); EndpointAddress address = n
MyAsmxServiceClient serviceClient =
new MyAsmxServiceClient("http://myServiceLocation/myService.asmx");
如何使用WCF实现同样的效果?在相同的行上,binding=您正在使用的绑定类型
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8888/MyService");
MyServiceClient sv= new MyServiceClient(binding, address)
这通常在app.config/web.config中完成:
<system.serviceModel>
<client>
<endpoint
address="http://myServiceLocation/myService.asmx"
binding="basicHttpBinding"
contract="IMyServiceContract" />
</client>
</system.serviceModel>
然后:
using (var client = new MyClientProxy("foo"))
{
var result = client.SomeMethod();
}
如何初始化绑定对象?假设您使用的是BasicHttpBinding,则更新如上。希望能有所帮助。不,这不起作用。不幸的是,例外情况是,客户端处于错误状态。请参考此,我在搜索更多信息时遇到此问题-好的,这看起来不错,因为我真正需要做的是:如果(x)服务=新服务(“)其他服务=新服务(“),那么,有没有办法为同一个合同定义两个端点,并通过名称或其他方式检索它们?@爱我的乍得,是的,你可以。我已经更新了我的答案,包括一个例子。谢谢!工作起来很有魅力!
using (var client = new MyClientProxy("foo"))
{
var result = client.SomeMethod();
}