在不同服务器上使用相同的WCF服务时,在客户端共享WCF类

时间:2013-10-03 11:08:19

标签: c# wpf wcf web-services

我得到了一个部署在生产和测试服务上的WCF服务。除后端数据库外,没有任何东西可以分开。

并获得了一个WPF客户端,它引用了这两种服务。

要打电话给我,我要使用单独的客户。例如测试服务器:

NewsServiceTest.NewsNewsServiceClient client = new NewsServiceClient("BasicHttpsBinding_INewsService");

生产服务器:

NewsServiceProd.NewsServiceClient client = new NewsServiceClient("BasicHttpsBinding_INewsService");

客户端具有完全相同的方法,因此我的问题是:是否可以拥有相同的基本客户端?我不想在调用相同的方法时复制代码,但是在不同的客户端上。

1 个答案:

答案 0 :(得分:3)

使用相同的基本客户端来调用托管在不同环境中的同一端点是WCF的基础。

在我看来,任何不允许这样做的服务框架都会被打破。

是的,这是可能的。只需将服务URL传递到服务客户端:

client.Endpoint.Address = new EndpointAddress("whichever URL I want");