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

时间:2014-10-29 09:53:17

标签: c# .net wcf client-server

我需要编写一个客户端 - 服务器应用程序。首先,我要写一个应用服务器。我的应用服务器也应该连接到数据库(MS Sql Server)并将数据从它提供给客户端应用程序。所以,据我所知,我应该使用WCF。这是个好主意吗?也许我需要寻找别的东西?

2 个答案:

答案 0 :(得分:1)

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

以下是对比:WCF and ASP.NET Web API

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

答案 1 :(得分:1)

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

让我们看看这里的选项:

服务器
1.您将使用什么类型的托管?
2.您的服务器需要处理多少类型和多少负载?

<强>客户端
1.您服务的消费者类型
2.客户端是否需要部署在本地计算机上,还是应该基于Web?

显然有更多的担忧而不是上述。初步设计应尽可能灵活。

所以,现在让我们看看有关架构的一些解决方案。
服务器:
1.应用程序托管WCF服务器:每次需要管理服务器生命周期时。此外,这不可扩展。因此,如果您正在寻找可扩展的架构,您需要看更多 2. IIS托管的WCF服务器:根据您的需要,这可能是一个好主意以及一些架构问题 3. Web方法:显然这是在WCF之后,但WCF仍然存在。所以主要区别是What is the difference between an asp.net web method and a wcf service?

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

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

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