我记得ASMX有一个简单的解决方案:
MyAsmxServiceClient serviceClient =
new MyAsmxServiceClient("http://myServiceLocation/myService.asmx");
如何用WCF实现相同的目标?
答案 0 :(得分:4)
在同一行,绑定=您正在使用的绑定类型
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8888/MyService");
MyServiceClient sv= new MyServiceClient(binding, address)
答案 1 :(得分:4)
这通常在app.config / web.config中完成:
<system.serviceModel>
<client>
<endpoint
address="http://myServiceLocation/myService.asmx"
binding="basicHttpBinding"
contract="IMyServiceContract" />
</client>
</system.serviceModel>
如果您愿意,可以或could also do it programatically。
通常,当您使用svcutil.exe生成客户端代理时,它还会创建一个样本output.config
文件,其中包含设置配置所需的全部内容。
更新:
您还可以为终端提供名称:
<system.serviceModel>
<client>
<endpoint
name="foo"
address="http://foo.com/myService.asmx"
binding="basicHttpBinding"
contract="IMyServiceContract" />
<endpoint
name="bar"
address="http://bar.com/myService.asmx"
binding="basicHttpBinding"
contract="IMyServiceContract" />
</client>
</system.serviceModel>
然后:
using (var client = new MyClientProxy("foo"))
{
var result = client.SomeMethod();
}