我有一个类库,它引用了一个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>
答案 0 :(得分:2)
将Web服务URL移动到主机应用程序的web.config绝对是大多数情况下的方法。您提到更改web.config文件中的值没有任何效果,但我会仔细检查它。除非您对网址进行了硬编码,否则这就是主机进程从中读取的位置。
答案 1 :(得分:0)
如果您使用的是网络参考,请参阅Ways to Customize your ASMX Client Proxy。如果您正在使用WCF,那么您可以使用包含EndpointAddress的代理类构造函数的重载。