C# Net架构建议;从web启动进程

C# Net架构建议;从web启动进程,c#,.net,architecture,windows-services,C#,.net,Architecture,Windows Services,我正在从事一个由web应用程序组成的项目,在这个项目中,用户可以开始生成不同类型文件的漫长过程。 用户将无法下载文件,只能启动此过程,文件将位于服务器上,此过程可能需要几个小时 我的想法是通过一个MVC应用程序来解决这个问题,该应用程序与windows服务进行通信,该服务启动文件生成过程 我对此有些担心 根据你的经验,你认为这是解决问题的最好办法吗 什么是沟通web应用程序和windows服务的最佳和最简单的方式?这是一种单向通信,即web到服务 关于windows服务;服务是否应该执行所有流程

我正在从事一个由web应用程序组成的项目,在这个项目中,用户可以开始生成不同类型文件的漫长过程。 用户将无法下载文件,只能启动此过程,文件将位于服务器上,此过程可能需要几个小时

我的想法是通过一个MVC应用程序来解决这个问题,该应用程序与windows服务进行通信,该服务启动文件生成过程

我对此有些担心

  • 根据你的经验,你认为这是解决问题的最好办法吗

  • 什么是沟通web应用程序和windows服务的最佳和最简单的方式?这是一种单向通信,即web到服务

  • 关于windows服务;服务是否应该执行所有流程?或者,如果该服务只执行生成不同类型文件的控制台应用程序,可能会更好


  • 非常感谢您的帮助。

    由于Web API可以在任何进程中自托管,Windows服务也不例外,因此我建议在同一个Windows服务中同时托管HTTP API和长进程

    • 使用
    • 用于创建Windows服务

    如果您使用最佳实践来设计和实现此Windows服务,它应该是一个很好的解决方案,而且您应该考虑部署您的解决方案有多容易,因为您不再需要IIS。

    我仍然支持IIS。这是因为它的支持。长期以来,我们一直在使用Web Web服务来托管长期运行的后台服务,没有出现任何问题。唯一需要考虑的是删除默认的应用程序回收。
    当然,您的应用程序需要正确处理启动/停止事件。

    在这种情况下,在IIS+控制台应用程序上使用OWIN自主机有什么好处?