【问题标题】:.Net Architecture suggestion; Start process from web.Net 架构建议;从网络启动进程
【发布时间】:2015-10-22 09:35:23
【问题描述】:

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

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

我对此有些担心。

  1. 根据您的经验,您认为这是解决问题的最佳方法吗?

  2. 在 Web 应用程序和 Windows 服务之间进行通信的最佳和最简单的方法是什么?这是一种单向通信,网络到服务。

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

非常感谢您的帮助。

【问题讨论】:

    标签: c# .net architecture windows-services


    【解决方案1】:

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

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

    【讨论】:

    • 在这种情况下使用 OWIN 自托管而不是 IIS+控制台应用有什么好处?
    【解决方案2】:

    我会继续使用 IIS。这是因为它的支持。长期以来一直使用 Web 服务来托管长时间运行的后台服务,没有问题。唯一关心的是删除默认的应用程序回收。 当然,您的应用程序需要正确处理启动/停止事件。

    【讨论】:

      猜你喜欢
      • 2020-01-29
      • 2010-11-08
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多