如何将多个WCF客户端重定向到测试服务器端点?

时间:2016-06-27 20:48:46

标签: c# wcf app-config wcf-binding wcf-endpoint

我们有一个产品使用多个可执行文件通过WCF与不同的Web服务进行通信。对于每个Web服务,都有一个可以在不同域名下访问的测试实例。模式始终相同,因此如果xxx.yyy.zz是可公开访问的生产服务的域名,则可以在xxx-test.yyy.zz下访问测试服务。 (其余的服务URI是相同的。)

当前通过app.config文件配置了WCF客户端的服务URI,不同的构建配置具有不同的默认值(SlowCheetah config transform)。

这适用于测试其中一个可执行文件,但是当我们想要将整个软件包的安装配置为仅与测试服务进行通信时,这是一个很大的痛苦 - 我们当前必须编辑多个app.config文件手。

通过使用条件或引用 - 例如 - 来自app.config文件的环境变量,可以轻松实现我想要做的事情。不幸的是,两者似乎都是不可能的。

所以我的问题是:将我们的WCF客户端重定向到测试服务器的最简单/最明智的方法是什么?

修改 通过代码设置地址没有真正的障碍。当然,我们必须在所有可执行文件中重复该代码 - 或者将其移动到某个共享程序集。好吧,也许这毕竟是最优雅的解决方案。

有没有办法全局“挂钩”客户端创建/配置机制(=整个应用程序域)?我对WCF不是很了解,但我猜可能是端点行为?我不知道的是,必须注册的地方,以便所有客户端代理都会受到影响。

0 个答案:

没有答案