客户端和服务器之间的通信中介(控制器?)

时间:2013-01-06 19:05:08

标签: c# wcf model-view-controller design-patterns client-server

我正在寻找在客户端应用和服务器之间实现某种中介(调度程序/控制器)。 客户端向中介发送命令 - >中介进程(执行)命令。我使用WCF作为通信平台。有没有办法(模式或smth)如何在不更改调解器界面的情况下向客户端添加新命令?
假设调解器解决了从客户端隐藏的其他几个服务。客户端向服务器发送命令以执行某些操作。这些操作涉及各种域服务和服务器端类。 稍后我说我决定向客户端添加一个新命令。该新操作可以由域服务执行,但是如何在远程机器上触发该操作,在域服务上不必扩展中介的接口(因为中介是客户端和服务器之间的唯一通信点)。

所以一般来说,我在WEB应用程序中使用的MVC模式中寻找某种替代控制器,而不是WEB应用程序。

有什么想法吗?溶液

1 个答案:

答案 0 :(得分:0)

所以在我看来,你需要某种透明代理,它不知道消息格式,只需传递给适当的后端系统。所以,换句话说,你需要像“Message API”而不是“RPC API”。这可以通过不同的方式完成 - 您可以将消息作为XML传递,您可以在其中指示命令的类型,命令的名称,参数等。然后,您的调解器基于命令的类型可以将命令传递给相应的支持系统。这样,如果添加新命令(名称),则只需要修改后端系统。如果添加新命令类型,则必须修改您的介体,而不仅仅是新命令。

您可以使用google Message API模式获取更多信息,例如: http://www.servicedesignpatterns.com/WebServiceAPIStyles/MessageAPI