2012-09-16 15 views
4

动态Web引用我改变配置文件动态Web引用的一个问题。更改配置文件中的url不起任何作用。我必须更改.settings中的url并进行编译以便更改。改变从web./app.config

我使用wizard添加Web引用。将URL行为设置为动态,这会在配置文件中添加相关的XML标记。

在我的解决方案中,我在单独的项目(lib类)中使用了web API(Web引用),因此我引用了项目并复制了<applicationSettings>

<applicationSettings> 
    <Runner.Properties.Settings> 
     <setting name="WebReference" serializeAs="String"> 
     <value>http://someurl/somefile.asmx</value> 
     </setting> 
    </Runner.Properties.Settings> 
</applicationSettings> 

注意它的<Runner.Properties.Settings>而不是<WebAPI.Properties.Settings>

我的解决办法是设置如下:

Solution: 
- WebAPI (class lib, has the web reference) 
- Runner (console app, references WebAPI) 

是否有一定的局限性,我不知道的还是我做错了什么?

+0

现在是你的WCF客户端在一个dll?你是从你的web应用程序中的dll实例化该wcf客户端?并且服务引用配置位于yourdll.config中? – rene

+0

我不确定是否理解“wcf客户端”是正确的。我添加了Web引用的项目是一个dll,我在控制台项目中使用该dll。 “wcf客户端”(dll)和控制台程序都有app.configs。但据我所知,只有运行(启动项目)app.config被使用。所以在我的输出目录中我有webapi.dll,runner.exe&runner.exe.config –

+0

runner.exe.config是否包含服务引用的东西? – rene

回答

0

您是否尝试过重新启动您的应用程序进行更改后?例如重新启动Windows服务或IIS中的网站?

另一种选择是将参数加载到内存中,并每隔一段时间就去看了,对于应用程序的生命周期重新设置到内存中。