我有一个.net网络应用程序,它引用了一个Web服务。
我将网络服务发布到http://myTestServer/service1.asmx,然后添加了对.net应用程序的引用。
Web服务访问myTestServer上的测试数据库。
当我想将web应用程序发布到myLiveServer时 - 已经发布了一个访问“实时数据库”的web服务版本到http://myLiveServer/service1.asmx - 如何更改它以便Web应用程序引用正确的Web服务 - 取决于我是在发布测试还是在线服务器?
对于连接字符串之类的东西,可以很容易地更改密钥以引用正确的服务器/数据库。但是,如何为Web服务引用执行此操作?
答案 0 :(得分:3)
您可以像连接字符串一样更改它 - 也就是说,在web.config中,或者如果您愿意,可以通过编程方式更改它。在web.config中,该地址位于system.serviceModel / client / endpoint下。
<system.serviceModel>
<client>
<endpoint address="service URL" name="MyService" />
...
以编程方式,您可以修改客户端代理类'Endpoint.Address属性。
var client = new ServiceReference.MyServiceSoapClient();
client.Endpoint.Address = new EndpointAddress("service URL");