C# WCF、WebAPI或Windows服务

C# WCF、WebAPI或Windows服务,c#,.net,wcf,asp.net-mvc-4,asp.net-web-api,C#,.net,Wcf,Asp.net Mvc 4,Asp.net Web Api,我有点不知道该从什么开始 我的目标是创建一个后台服务,它将本地从SQL数据库读取数据,并使用SSL和POST/Get安全地将数据远程发送到RESTAPI服务。该服务将部署在本地Microsoft服务器中,并将每隔一段时间从部署在同一服务器中的sql server读取数据,然后通过Https将数据发送到另一个RESTful API 有什么建议吗?WCF、Web API或Windows服务?这实际上不是一个编程问题,但我会给你一个答案 这实际上取决于您的需要和操作服务/应用程序的选项 如果您有自己的

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


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


有什么建议吗?WCF、Web API或Windows服务?

这实际上不是一个编程问题,但我会给你一个答案

这实际上取决于您的需要和操作服务/应用程序的选项

如果您有自己的服务器AWS EC2,Windows服务器:

在这里,我建议您使用Windows服务,因为无论您是否登录,它都是稳定的,并且在Windows启动时自动运行。当您不想自己托管任何东西,而只是将数据发送到RESTful API时,这是完美的。 如果您没有自己的服务器,但只有像Unoeuro这样的web主机,请执行以下操作:

这有点棘手,因为WebAPI和WCF没有一种内置的方式来像Windows服务那样执行线程

为此,我建议使用Web API,因为它在总体上更常用和受支持,如果需要的话,在站点上实现RESTful API更容易。要将此作为后台任务运行,我建议运行Webhost可能提供的某种Cron作业,然后只调用Web API上运行服务的页面。 总的来说,如果您需要一个持续运行并向RESTful API发送数据的后台服务,那么Windows服务是最好的解决方案,但是这显然需要通过IIS访问Windows计算机,而不仅仅是Web主机


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

或您计划在Windows中运行的控制台应用程序,例如任务调度器。这取决于您的需要。由于它是后台服务,您可以将其设计为Windows服务。但如果你没有专用服务器,你可以考虑azure web job。该服务将部署在本地Microsoft服务器上,并将每隔一段时间从部署在同一服务器上的sql server读取数据,然后通过Https将其发送到另一个RESTful API。谢谢Kevin,你对此有所了解。它将部署在与SQL server相同的服务器中。我担心windows服务无法轻松地处理远程restful API的SSL post。