如何更改WCF服务端点?
问题描述:
我有超过三个网络服务, 在那一个是主站点,其他人是客户站点。如何更改WCF服务端点?
在我的用户界面一个文本框是可用的,在该文本框中,我需要给该目标终点地址 从文本框我需要调用客户端服务。
例如:
客户端1终点服务名称:
http://localhost:1524/WebServiceService.svc"
客户机2结束点服务名称:
通过
Rajagopalk
http://localhost:8085/WebServiceService.svc"
如果我给“本地主机:1524”在文本框客户端1服务将调用, 如果我给“本地主机:8085”在文本框客户端2服务将调用,
答
你在IIS托管的WCF服务?在这种情况下,您的服务地址由IIS配置和服务的* .svc文件所在的虚拟目录决定。
因此,要更改服务器上的某些内容,您需要检查并修改IIS配置。
要更改的客户端,有您的端点定义应包含一个web.config(用于ASP.NET网)或(的applicationName).exe.config - 改变那里的端点地址:
<client>
<endpoint name="YourEndpointName"
address="http://localhost:8085/WebServiceService.svc"
binding="......." bindingConfiguration="............."
contract="..................." />
</client>
您需要在<endpoint>
配置元素的address=
属性中指定完整的目标Web服务地址。
可以定义为同一服务的多个端点,并选择当实例的客户端代理使用哪一个:
MyServiceProxy client = new MyServiceProxy("name of endpoint configuration");
,并与这一点,你可以很容易地端点的几种定义之间切换。
UPDATE:如果你想以编程方式设置从代码客户端地址,您需要在创建客户端代理时要做到以下几点:
// create custom endpoint address in code - based on input in the textbox
EndpointAddress epa = new EndpointAddress(new Uri(textbox.Text));
// instantiate your cilent proxy using that custom endpoint address
// instead of what is defined in the config file
MyServiceProxy client = new MyServiceProxy("name of endpoint configuration", epa);
喜, 在地址节点而不是本地主机:8085我需要给文本框VAL UE。请简要解释一下。因为我是WCF –
Rajagopalk
2010-02-10 06:08:13
的新手,请不要将xml配置文件放入注释中 - 真的很难阅读。更新您的原始问题与额外的信息! – 2010-02-10 06:51:49
嗨, 我需要从一台服务器发送数据到许多客户端。取决于他们的任务,我需要维护服务器设置,在该设置中,我需要提到客户端URI,这取决于我需要访问的客户端服务的URI,我需要将数据传输到该客户端。更多的事情是如何还要维护App.Config文件。 谢谢, Rajagopalk – Rajagopalk 2010-02-11 13:54:55