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

时间:2013-09-02 16:56:36

标签: c# .net multithreading httplistener

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

在我看来你应该:

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

    如果这些ID存储在内存或文件/数据库中,则可以选择(取决于您的应用)。

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

    您应该使用HTTP服务器接收请求,然后从后端服务启动该过程。