C#客户端服务器应用程序

本文关键字:应用程序 服务器 客户端 | 更新日期: 2023-09-27 18:28:25

我需要编写一个客户端-服务器应用程序。首先,我将编写一个应用程序服务器。此外,我的应用程序服务器应该连接到数据库(MSSqlServer),并将其中的数据提供给客户端应用程序。所以,正如我所知,我应该使用WCF。这是个好主意吗?也许我需要找点别的东西?

C#客户端服务器应用程序

让我们从客户端-服务器体系结构开始
假设您已经确定需要客户端和服务器,但您是否仔细决定了体系结构?我的意思是,你要创建什么类型的服务器和什么类型的客户端?

让我们在此处查看选项:

服务器
1.你打算使用什么类型的主机
2.您的服务器需要处理什么类型的负载以及需要处理多少负载?

客户端
1.您的服务的消费者类型
2.客户端需要部署在本地机器上还是应该基于web?

显然有比上述更多的担忧。初始设计应尽可能灵活。

因此,现在让我们来看一些关于体系结构的解决方案。
服务器:
1.应用程序托管的WCF服务器:每次需要管理服务器生命周期时。此外,这是不可扩展的。因此,如果你正在寻找可扩展的体系结构,你需要寻找更多
2.IIS托管的WCF服务器:这可能是一个好主意,同时根据您的需要考虑一些架构问题
3.Web方法:显然这是在WCF之后出现的,但WCF仍然存在。那么主要的区别在于asp.net web方法和wcf服务之间的区别是什么?

现在的客户:
1.ASP.NET:这将使每个平台都能使用一个客户端应用程序,这显然是因为HTML
2.WPF/WinForms:当你需要在用户机器上部署客户端应用程序时,将其用作客户端会有点棘手,这就是数据安全问题。在前者中,您可以直接使用SSL或其他方式将数据发送到浏览器。而在这种情况下,如果您没有将WCF与HTTPS一起使用,并且有一些专有数据通过导线传输,则可能会引起关注。

如果您正在寻找服务器的跨平台使用,您可以使用HTML。

结论:
您可以将服务器用作WCF托管服务(在IIS或自包含应用程序中),将客户端用作ASP.NET。
------------------------------
如果要求不够大,则可以使用ASP.NET作为服务器,然后使用浏览器作为客户端(无需创建客户端)
------------------------------
您可以将服务器创建为WCF作为web方法,并在用户计算机上部署客户端。
------------------------------
WCF足够好,它也可以处理您的专有数据类型。

WCF是一件好事,但我会使用ASP.Net Self-Hosted Web-API。它更现代。你有一个完整的休息界面,这是非常受欢迎的。

以下是一个比较:WCF和ASP.NET Web API

这里有一个很好的起点:Self-Host ASP.NET Web API 1(C#)