无法将.NET引用的URL更改为动态Web服务

时间:2010-06-09 09:30:17

标签: .net web-services

我在C#.NET项目中添加了一个Web引用。 Web引用的URL需要根据我是否正在构建开发,登台或生产环境而更改。我已经将Web服务设置为动态,这意味着它需要从我的app.config文件中获取URL。

当我执行构建时,它会用所需的文件覆盖app.config,该文件包含正确的URL(每个dev / staging / production的不同文件。)然后我进入解决方案属性并确保Settings.settings使用app.config更改更新文件。但是,当我查看Web服务的属性时,它仍显示旧URL,尽管它是动态的,并且应该从我的设置文件中读取(即使在关闭并重新打开项目/解决方案之后).app.config和设置文件都有新的URL,但Web引用没有注意到它已更改。

如果我进行构建,它会忽略设置文件中的URL,并尝试连接到手动输入到Web引用属性中的最后一个URL。在这些属性中键入URL会正确更新app.config和.settings文件,因此链接肯定在那里。

我对.NET有点新意,但在我看来,将服务设置为动态的目的是让你可以在其他地方更改URL,但是当我这样做时,它会被忽略!我做错了吗?

1 个答案:

答案 0 :(得分:0)

UDDI可能会对此有所帮助:向UDDI服务询问正确的URL,并在每个环境中使用单独的UDDI服务器,您可以使用名称UDDI服务名称映射到环境的正确URL。然后你只需要一个适用于所有环境的.config文件。有关示例,请参阅MSDN