Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用特定的Url地址初始化wcf客户端?_C#_.net_Wcf - Fatal编程技术网

C# 如何使用特定的Url地址初始化wcf客户端?

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

我记得ASMX有一个简单的解决方案:

 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();
}