我有一个基于我提供的WSDL生成的基本SOAP服务。 WSDL指定连接端点,该端点在Web Service中作为应用程序级别的Settings.settings文件中的条目进行复制,并因此在项目的app.config中的AppSettingsGroup中复制。
问题是双重的:
由于这个原因,这个项目(不是解决方案的主要项目)有一个app.config。否则只有主要的exe配置。
在为生产环境构建时,端点必须更改。目前我必须进入并更改此设置与我的主配置更改(我使用我可以轻松切换的configSource位置设置)。
将端点设置从设置文件中的条目移动到主配置布局中的appSetting是理想的。然后,在构建生产时,我所要做的就是在整个项目的一个位置“翻转一下”,现在应用程序指向生产环境。但是,Web服务中的引用是生成的代码。有没有办法为此设置指定一个自定义位置,如果/当我刷新服务时不会被吹走?
答案 0 :(得分:1)
在代码中实例化自动生成的代理类时,您可以设置Url属性:
string url = ConfigurationManager.AppSettings["fooUrl"];
using (var client = new AutoGeneratedServiceClient { Url = url })
{
client.SomeMethod();
}
然后您可以将url存储在主配置文件中。