【问题标题】:WCF, WebAPI or Windows Service [closed]WCF、WebAPI 或 Windows 服务 [关闭]
【发布时间】:2017-10-06 10:21:11
【问题描述】:

我有点不知道从什么开始。

我的目标是创建一个“后台服务”,它将从 SQL 数据库(本地)读取数据并将其远程发送到 rest-API 服务(安全地使用带有 POST/Get 的 SSL)。该服务将部署在本地 Microsoft 服务器中,并每隔一段时间从 sql 服务器(部署在同一服务器中)读取数据,并通过 Https 将其进一步发送到另一个 RESTful API。

有什么建议吗? WCF、Web-API 还是 Windows 服务?

【问题讨论】:

  • 或您计划运行的控制台应用程序(例如 Windows 中的任务计划程序)。
  • 取决于你的需要。
  • 因为它是一个后台服务,你可以将它设计成windows服务。但如果你没有专用服务器,你可以考虑 azure web job。
  • 服务会部署在本地的微软服务器上,每隔一段时间从sql server(部署在同一台服务器)读取数据,再通过Https发送到另一个RESTful API。跨度>

标签: c# .net wcf asp.net-mvc-4 asp.net-web-api


【解决方案1】:

这真的不是编程问题,但无论如何我会给你一个答案。

这实际上取决于您的需求以及您运行服务/应用程序的选项。

如果您有自己的服务器(AWS EC2、Windows 服务器):

  • 在这里我建议使用 Windows 服务,因为它稳定且在 Windows 启动时自动运行(无论您是否登录)。当您不想自己托管任何东西,而只是将数据发送到 RESTful API 时,这是完美的选择。

如果您没有自己的服务器,而只有一个网络主机(如 Unoeuro..):

这有点棘手,因为 WebAPI 和 WCF 没有像 Windows 服务那样内置的方式来处理线程。

  • 为此,我建议使用 Web API,因为它更常用且总体受支持,并且如果需要,在您的站点上实现 RESTful API 会更容易。要将其作为后台任务运行,我建议您运行您的 Web 主机可能可用的某种“Cron 作业”,然后只需调用您的服务运行所在的 Web API 上的一个页面。

总体而言,如果您需要一个后台服务来不断运行并将数据发送到 RESTful API,那么 Windows 服务是您的最佳选择,但这显然需要通过 IIS 访问 Windows 机器而不仅仅是 Web 主机.

我希望这有助于解决您的问题 :)

【讨论】:

  • 感谢凯文,您对此有所了解。它将部署在与 SQL 服务器相同的服务器中。我担心 Windows 服务不会以简单的方式将 SSL 发布到远程 RESTful API。
猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
相关资源
最近更新 更多