从 web./app.config 更改动态 Web 引用
Posted
技术标签:
【中文标题】从 web./app.config 更改动态 Web 引用【英文标题】:Change dynamic web reference from web./app.config 【发布时间】:2012-09-08 20:56:19 【问题描述】:我在更改配置文件中的动态 Web 引用时遇到问题。更改配置文件中的 url 没有任何效果。我必须更改 .settings 中的 url 并编译它才能更改。
我使用wizard 添加了网络参考。将 URL 行为设置为动态,这会在配置文件中添加相关的 XML 标记。
在我的解决方案中,我在一个单独的项目(类库)中有 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)
是否有一些我不知道的限制或我做错了什么?
【问题讨论】:
您的 wcf 客户端现在是否在 dll 中?您正在从 Web 应用程序中的 dll 实例化该 wcf 客户端?并且服务参考配置在 yourdll.config? 我不确定“wcf 客户端”是否正确。我添加 Web 引用的项目是一个 dll,我在控制台项目中使用该 dll。 “wcf 客户端”(dll)和控制台程序都有 app.configs。但据我所知,只使用了正在运行的(启动项目)app.config。所以在我的输出目录中,我有 webapi.dll、runner.exe 和 runner.exe.config runner.exe.config 是否包含服务参考资料? 是的,我试图在问题中解释这一点。它位于您是否尝试在进行更改后重新启动您的应用程序?比如重启windows服务或者IIS中的网站?
另一种选择是将参数加载到内存中,并在应用程序的生命周期内每隔一段时间将该设置再次读取到内存中。
【讨论】:
以上是关于从 web./app.config 更改动态 Web 引用的主要内容,如果未能解决你的问题,请参考以下文章