在代码中更改服务参考 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?

播放运行服务器 url 音频的媒体播放器时 UI 更改停止

使用 post 方法将数据传输到服务器而不更改节点中的 url。 js

无服务器框架,API 网关 URL 何时更改?

在 weblate 中更改 git url

测试 url 参数的值,然后从 c# 后面的代码中更改 SqlDataSource.SelectCommand