如何从vb.net应用程序更改WCF服务地址

时间:2014-05-06 07:47:52

标签: vb.net wcf

我经过大量时间阅读有关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>

我希望有人可以帮助我...

2 个答案:

答案 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