Thi*_*ies 6 .net c# wcf endpoints
我们使用WCF进行客户端和服务器应用程序之间的通信.客户端应用程序具有许多需要与服务器通信的功能 - 我们选择在多个类中实现此功能(分离责任)
当时,我们正在为每个对象创建新的WCF端点和服务合同 - 开票,会计,内容管理等.这会导致客户端和服务器上的大量端点配置(在进入测试时可能存在错误配置问题,生产平台).
我想知道我是否可以定义一个可以提供多个服务联系实现的WCF端点.然后,我们的配置文件将包含一个端点(到服务工厂),我可以通过指定我感兴趣的服务的接口来请求不同的服务.
例如
using (IServiceClientFactory serviceClientFactory = new RealProxyServiceClientFactory())
{
// This is normal WCF proxy object creation.
IServiceFactory serviceFactory = serviceClientFactory.CreateInstance<IServiceFactory>("");
// This is what we would like to do
IInvoiceService invoiceService = serviceFactory.getService(typeof(IInvoiceService));
invoiceService.executeOperation(data);
}
Run Code Online (Sandbox Code Playgroud)
线索是每个客户端/服务器对的单个端点配置,而不是我希望提供的每个服务联系的端点配置.
这可能吗?
我怀疑这是否有效。Xml 序列化可能是这里最大的问题。
而且我认为你实际上并不需要它。如果我处于你的立场,我会尝试抽象我与服务的通信。基本上,您总是会向服务发送一条“消息”,该服务的“目标”是您想要访问的类之一。该服务总是会回复一个“响应”,其中的内容将由“消息”发送到的类填充。
另一种方法是通过服务路由所有这些消息,该服务将请求回显到适当的服务。通过这种方式,您可以保持可扩展性,但仍然有很大的配置负担。
HTH。
| 归档时间: |
|
| 查看次数: |
2536 次 |
| 最近记录: |