我有一个WCF客户端,它指的是在同一台机器上托管的多个服务。像这个例子
<client>
<endpoint address="net.tcp://localhost:8731/TrackingService" binding="netTcpBinding" ...
</endpoint>
<endpoint address="net.tcp://localhost:8731/CommonService" binding="netTcpBinding"...
</endpoint>
</client>
是否可以修改我的app.config以保留
net.tcp://localhost:8731
在另一个变量中的端点地址的一部分,所以当我部署时我必须改变一次吗?
也许以编程方式聪明的方式来做到这一点?我唯一的需要是改变“地址:端口”。
提前谢谢
答案 0 :(得分:1)
不,不幸的是,在客户端,服务器端没有像<baseAddress>
那样的东西,你可以全局设置。
每个端点声明都必须包含完整的完整网址,我担心。
马克
答案 1 :(得分:1)
您始终可以以编程方式创建客户端并从正常的appconfig值读取地址。喜欢这个
MyClient client=
new MyClient(new BasicHttpBinding(), new EndpointAddress(ConfigurationManager.AppSettings.Get("ServiceAddress");)