ASP.NET C#和处理长进程

时间:2015-10-25 19:03:49

标签: javascript c# asp.net asynchronous

我创建了一个aspx页面,其中包含用于配置最终操作的选项,此页面上的最终操作要求它创建多个文件夹的备份;这可能需要一段时间。

单击开始按钮后,它会启动一个计时器,该计时器从系统读取日志文件(由备份过程更新),并定期将其输出到网页上的多行文本框。但是,由于备份过程可能需要一段时间,因此在备份完成之前,此文本框不会更新。

我只是想知道,解决这个问题的最佳方式我一直在考虑以下问题:

  1. Webservice - 因为它在同一台服务器上是值得的吗?这还会运行更长的进程,让计时器继续工作吗?
  2. Javascript读取日志文件并保持文本框更新?
  3. 这一切都在1台服务器上,只是通过这个网页访问/管理。

1 个答案:

答案 0 :(得分:1)

将长时间运行的操作移到Web应用程序之外是一种很好的做法,它可以保存用于处理Web请求的线程。 Web服务是值得的,触发操作的Web服务的Web方法可以在新线程上运行并返回(fire和go)。 Web应用程序可以在DB表中查询作业的状态(进度,结果,错误消息)。