如何更改类库中存在的Web服务的URL?

时间:2011-12-22 16:04:39

标签: asp.net .net web-services

我有一个类库,它引用了一个Web服务,我在web.config中包含了这个类库。

现在我希望能够动态更改Web服务的URL(就像您通常在web.config中所做的那样)。我怎样才能做到这一点?我尝试将设置放入web.config,但更改它没有任何效果。

  <applicationSettings>
    <MyClassLibraryAppConfig.WCFServices.Properties.Settings>
      <setting name="WebServiceKey"
        serializeAs="String">
        <value>http://localhost/badaddress.asmx</value>
      </setting>    
    </MyClassLibraryAppConfig.WCFServices.Properties.Settings>
  </applicationSettings>

  <applicationSettings>
    <MyApp.Properties.Settings>
      <setting name="WebServiceKey"
        serializeAs="String">
        <value>http://localhost/goodaddress.asmx</value>
      </setting>    
    </MyApp.Properties.Settings>
  </applicationSettings>

2 个答案:

答案 0 :(得分:2)

将Web服务URL移动到主机应用程序的web.config绝对是大多数情况下的方法。您提到更改web.config文件中的值没有任何效果,但我会仔细检查它。除非您对网址进行了硬编码,否则这就是主机进程从中读取的位置。

答案 1 :(得分:0)

如果您使用的是网络参考,请参阅Ways to Customize your ASMX Client Proxy。如果您正在使用WCF,那么您可以使用包含EndpointAddress的代理类构造函数的重载。