在asp中安排后台工作的最佳方法

时间:2017-06-09 08:30:48

标签: asp.net vb.net

我有一个asp网站,允许它的用户管理一些数据。然后,用户需要单击一个按钮,以便网站处理一些文件。问题是操作大约需要5分钟,我需要:

  1. 要响应的网站。用户应与网站进行交互并查看操作状态。
  2. 一个操作不能在前一个操作完成之前(如队列)开始,无论用户是否开始操作。
  3. QueueBackgroundWorkItem实际上不像队列那样,无法看到操作的状态。

    BackgroundWorker我质疑是不可能的。

    我应该创建一个执行操作的Windows服务,并且网站通过WCF与它通信吗?

    我还想避免使用第三方软件。

1 个答案:

答案 0 :(得分:0)

我创建了一个从新线程的Application_Start开始并具有无限循环的方法。每隔10秒钟,它将验证一个任务队列。任务是存储任务参数的类。我将每个任务发送给运行任务的方法。

任务处理方法将信息写入数据库,以便我可以看到进度。

我不知道这是否是最好的实现,但是它满足了我对用户可以添加,删除任务并查看进度的处理队列的要求。