此程序用于将已导入的数据逐行导入规范化表格。有时可能需要数小时。
它是如何工作的
一次只有一个人使用此程序。
我们担心它会占用ASP.NET IIS线程。如果不是运行代码的网站,我们可以制定一个每隔30分钟运行一次EXE的计划任务来检查和处理代码,这会更有效吗。
编辑1:在与同事交谈之后,我们现在要做的工作就是从网站上删除按钮,然后将处理重构为每5分钟运行一次的计划任务......如果有的话关于这一点的任何评论让我知道。
问题实际上是关于网站运行代码与完全独立的EXE之间的差异... IIS线程与进程...它有帮助吗?
答案 0 :(得分:2)
如果处理需要数小时,它肯定应该在一个单独的进程中,而不仅仅是一个单独的线程。通过将其放入单独的进程中,您可以使线程锁定和管理,垃圾收集和其他事情变得复杂。例如,如果需要重新启动Web服务器,则可以继续运行单独的进程而不会受到影响。通过一些工作,如果需要,您甚至可以在单独的服务器上启动此过程(当然,您需要更改流程启动机制来执行此操作)
答案 1 :(得分:1)
当任务可以运行几个小时阻止ASP.Net线程绝对是错误的做法。网络呼叫应在合理的时间内完成(理想情况下为几秒钟,最差时间为几分钟)。花费相当长的任务可以从Web请求启动,但绝对不应该阻止整个执行。
我认为有一些可能的前进道路