在代码中更改服务参考 URL

Posted

技术标签:

【中文标题】在代码中更改服务参考 URL【英文标题】:Change service reference URL in code 【发布时间】:2013-07-21 10:20:27 【问题描述】:

我在一个 Windows Phone 8 项目中工作,为了使用一些网络服务,我添加了一个带有特定 URL 的服务引用。

我的问题是 URL,因为它会不时更改,所以我需要让用户在应用程序运行时从某个菜单插入新 URL。

我知道如何在 Visual Studio 中更改它,但现在我需要在应用程序运行时在代码中更改它。所以我的问题是:如何更改代码中的 URL?

我进行了一些搜索,文件“app.config”似乎可以完成这项工作,但我的项目中没有任何“app.config”,而且据我所知,Windows Phone 项目不使用此类文件.

【问题讨论】:

dynamically switch WCF web service reference URL path through config file的可能重复 【参考方案1】:

只需更改端点地址,例如

clientProxy.Endpoint.Address = new EndpointAddress(yourUri);

【讨论】:

clientProxy 类的构造函数也可以采用一个 URL,它基本上会做同样的事情。 实际上,如果你想像 Cory 建议的那样通过构造函数传递值,你应该确保传入正确的参数,因为构造函数有几个重载。 如果这样做,我会遇到合同不匹配异常,因为创建硬编码服务引用时使用的 URL 与客户端构造函数中使用的 URL 不同。看起来这种方法并没有真正改变端点地址?我可能遗漏了什么。 我真的希望构造函数能够接受它。这是我每隔几年就要做的事情,并且总是必须在这里查找...谢谢您的回答。

以上是关于在代码中更改服务参考 URL的主要内容,如果未能解决你的问题,请参考以下文章