我得到了一个部署在生产和测试服务上的WCF服务。除后端数据库外,没有任何东西可以分开。
并获得了一个WPF客户端,它引用了这两种服务。
要打电话给我,我要使用单独的客户。例如测试服务器:
NewsServiceTest.NewsNewsServiceClient client = new NewsServiceClient("BasicHttpsBinding_INewsService");
生产服务器:
NewsServiceProd.NewsServiceClient client = new NewsServiceClient("BasicHttpsBinding_INewsService");
客户端具有完全相同的方法,因此我的问题是:是否可以拥有相同的基本客户端?我不想在调用相同的方法时复制代码,但是在不同的客户端上。
答案 0 :(得分:3)
使用相同的基本客户端来调用托管在不同环境中的同一端点是WCF的基础。
在我看来,任何不允许这样做的服务框架都会被打破。
是的,这是可能的。只需将服务URL传递到服务客户端:
client.Endpoint.Address = new EndpointAddress("whichever URL I want");