在代码中更改服务参考 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的主要内容,如果未能解决你的问题,请参考以下文章
如何允许客户端在不更改应用代码的情况下更改 iOS 应用中的 API 基本 URL?