我经过大量时间阅读有关WCF的不同消息后发布了这些问题。
我开发了一个在特定位置工作的WFC服务。
我开发了一个vb.net应用程序,它可以完善所提到的WCF服务。它工作正常。
我现在有了新的选择。如何从应用程序更改服务的地址?我的意思是,假设该服务位于IP a.b.c.d,现在已更改为e.f.d.r.如何在应用程序中更改此内容?我应该在执行时修改应用程序的app.config吗?应该可以吗?不是改变地址的另一种方式吗?
我在应用程序上使用的app.config片段如下:
< bindings>
< basicHttpBinding>
< binding name="BasicHttpBinding_IWCF_ServicioWeb" />
< /basicHttpBinding>
< /bindings>
< client>
< endpoint address="http://localhost:49311/WCF_ServicioWeb.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWCF_ServicioWeb"
contract="MiServicioWeb.IWCF_ServicioWeb" name="BasicHttpBinding_IWCF_ServicioWeb" />
< /client>
我希望有人可以帮助我...
答案 0 :(得分:1)
我看到你正在使用basicHttpBinding。如果您没有使用传输或消息安全性并且证书验证不是问题,那么只需在服务(服务器)和使用WCF服务的客户端应用程序中更改端点地址。
答案 1 :(得分:1)
只需在配置文件中添加ApplicationSettings条目
即可 <MyApp.Properties.Settings>
<setting name="MyServiceUrl" serializeAs="String">
<value>http://a.b.com/ServicioWeb.svc</value>
</setting>
</MyApp.Properties.Settings>
现在,每次需要调用服务时写
Using wcf = New ServicioClient("BasicHttpBinding_IWCF_ServicioWeb",
New EndpointAddress(YourAppNameSpace.Properties.Settings.Default.MyServiceUrl))
.... call your wcf methods ....
End Using