Windows服务或Asp.net web api RESTful服务?

时间:2015-09-01 10:47:49

标签: c# wcf asp.net-web-api windows-services

我正在使用.NET Framework 4.5.1开发一个C#解决方案。

我需要一个程序(一个对象实例)一直在运行,等待接收命令。该程序将具有状态,并且根据此状态,它将允许某些命令或其他命令。

例如,它将具有一个打开和关闭命令。如果状态未打开且程序收到关闭命令,则它将不执行任何操作。

我曾想过创建一个Windows服务或一个ASP.NET MVC WebApi 2.2应用程序。

如果我选择Windows服务,该程序将始终运行,但我不知道如何与它通信(可能添加TCP / IP服务器)。

如果我使用ASP.NET MVC WebApi 2.2,我可以使用POST或PUT消息发送命令,但我不知道在Web服务启动时是否可以运行对象实例。

该程序是一个我必须实例化的类。此实例将保持其状态并与WCF服务进行通信。

你推荐我什么?

1 个答案:

答案 0 :(得分:1)

可供选择的选项有点奇怪。

您可以在Windows服务中自行托管Web API,并使用HTTP与服务进行通信。请注意,Web API是无状态的,因此,如果您需要保留状态,那么这应该是一个可持久的数据。

关于与Windows服务进行通信的方式,使用Web API之外的其他方法 - 有很多方法可以做到这一点。带有TCP /命名管道的WCF,纯命名管道(没有WCF),套接字,内存映射文件。您只需选择最适合您的要求。