C# Winforms应用程序服务器通信
我正在构建一个需要与后端通信的Winforms客户端。该后端是使用Nhibernate(具有非常丰富的域模型)、消息队列和其他方法构建的 现在我确实知道如何通过internet进行通信(主要是mq),但我完全不知道如何让我的客户端Winforms应用程序与应用程序服务器对话以调用服务 最好的方法是什么?我已经阅读了所有关于Nhibernte、DDD、WCF、远程处理等的内容,但我不知道如何以正确的方式来做?如何设计服务(由于模型是如此扩展,它将是一个非常健谈的接口,而不是一个非常笨重的接口)C# Winforms应用程序服务器通信,c#,winforms,domain-driven-design,communication,C#,Winforms,Domain Driven Design,Communication,我正在构建一个需要与后端通信的Winforms客户端。该后端是使用Nhibernate(具有非常丰富的域模型)、消息队列和其他方法构建的 现在我确实知道如何通过internet进行通信(主要是mq),但我完全不知道如何让我的客户端Winforms应用程序与应用程序服务器对话以调用服务 最好的方法是什么?我已经阅读了所有关于Nhibernte、DDD、WCF、远程处理等的内容,但我不知道如何以正确的方式来做?如何设计服务(由于模型是如此扩展,它将是一个非常健谈的接口,而不是一个非常笨重的接口) 那
那么基本上:让winforms应用程序与后端对话(分层)的最佳方式是什么?关于如何实现这一点,有没有好的示例(包括所有层,因为大多数示例都停留在服务边界上)我个人希望使用ASP.NET MVC实现精益REST+JSON,但最安全的方法是WCF。这里有很多例子:
在界面设计方面,分解对粒度功能的调用 我将使用WCF和几个接口来定义用于访问后端的服务 应用程序.业务层 定义所有WCF接口+域实体。由winform和后端使用 接口可以如下所示:
[ServiceContract]
public inteface IUserService
{
[OperationContract]
IEnumerable<User> Find(string searchWord);
}
[服务合同]
公共接口服务
{
[经营合同]
IEnumerable查找(字符串搜索词);
}
这就是定义WCF服务所需的全部内容
应用程序服务
你的后端。实现所有接口
您可以使用配置文件或代码配置WCF。WCF服务可以在ASP.Net应用程序或ServiceHost中运行
应用程序。WinClient
您可以使用winform应用程序
如果在asp.net中托管WCF服务,则可以将应用程序添加到Web服务,然后添加服务引用。否则您可以使用ChannelFactory创建服务代理。我喜欢Ayende在本文中描述的方法,尽管我自己没有尝试过
< p>作为WCF提供的RPC(远程过程调用)的替代品,您也可以考虑 将您的后端实现为通过消息进行通信的服务。
您可以将此类服务设计为单向通信和/或请求响应。
为了通过消息实现应用程序之间的通信,可以考虑使用<强> Enter消息框架<强>。它是轻量级的,您的应用程序可以基于命名管道、Tcp或Http进行通信。
如果您感兴趣,可以获取更多技术信息。
或者更多的例子可以在eneter.blogspot.com上找到,框架可以从www.eneter.net下载。所以你会得到类似的东西:客户端视图模型/控制器WCF服务模型/存储库?是的,我会这么说。另一种选择是客户端视图模型/控制器ASP.NET MVC服务模型/存储库