我们继承了一些代码,这些代码在第三方的外部服务器上使用Web服务。目前,所有引用都直接在项目中完成,因此编译到该位置等。我们遇到的问题是,有一个具有不同URL的Web服务的测试和生产服务器。
是否有一种简单的方法可以使Web引用更具动态性,以便可以在web.config中定义它,而不需要更改实际源并重新编译以在服务器之间切换?
答案 0 :(得分:4)
您可以将网址放在appSettings
文件的web.config
部分中:
<appSettings>
<add key="wsUrl" value="http://example.com/staging.asmx" />
</appSettings>
然后读取值并在webservice代理类的构造函数中,并将其分配给Url属性:
public SomeProxy()
{
Url = ConfigurationManager.AppSettings["wsUrl"];
}