2

我有两个 Web 服务,它们具有完全相同的方法和签名,但指向不同的服务器(特别是 Virtual Earth 生产和登台环境)。我希望根据配置设置在使用生产和登台服务之间切换,并且不想重复自己并复制我调用其中一项服务的每个方法。

所以我实际上需要的是创建一个接口,这两个服务都可以实现和编程。但我不知道这是否可取甚至可能。

还是我只需要引用其中一项服务并根据我是要使用生产环境还是暂存环境来切换 url 属性?

4

2 回答 2

3

如果我理解正确,您拥有一个部署在生产和登台环境中的 Web 服务。在这种情况下,您唯一要做的就是通过 Url 属性在它们之间切换。

于 2009-01-23T11:11:51.273 回答
1

我只是将我的 wcf 服务接口放入一个单独的程序集中,并从客户端和服务器引用这个程序集。
我将这个中央接口用于 wcf 服务、模拟 wcf 服务和所有客户端,并且可以交换连接。

我猜你使用 SvcUtil 来创建你的客户端类?我不。我已经创建了一次接口,并使用它们使用带有此服务合同的 ChannelFactory 创建服务。

也许将您的服务合同放入单独的程序集中并使用 ChannelFactory 创建代理会对您有所帮助?

当然,如果只是服务 URL 发生变化,您可以在配置文件中进行更改。

于 2009-01-23T11:15:58.910 回答