从HTTPListener启动长时间运行的进程

本文关键字:进程 运行 长时间 HTTPListener 启动 | 更新日期: 2023-09-27 18:30:00

我已经使用HTTPListener实现了一个简单的HTTP服务器,我需要从HTTPListener启动一个运行约10分钟的进程。当用户发出请求时,我不希望用户在浏览器中等待,直到进程完成,因为它将超时。所以我启动流程并返回一个状态。如何启动流程?

从HTTPListener启动长时间运行的进程

流程。启动

还可以查看启动进程时的选项

在我看来,您应该:

  1. 接收请求并为其分配唯一ID
  2. 启动流程
  3. 将唯一ID发送回用户
  4. 允许用户使用您的ID返回您的处理状态

这些ID是存储在内存中还是存储在文件/数据库中,这是您的选择(取决于您的应用程序)。

另外,考虑一下,如果这个简单的HTTP服务器托管在IIS上,则IIS有机会在必要时尽快终止您的进程,因此启动长时间运行的进程不是一个好主意。

您应该在HTTP服务器上接受请求,然后从后端服务启动该过程。