我的要求是创建一个网站,任意数量的用户都可以登录并点击按钮。该按钮单击内的任务将是一个长时间运行的过程(可能需要数小时或数天才能完成任务)。用户可以从网站注销,并可以偶尔登录以检查任务的状态。在this文章中使用这个想法是好的。请对此提出一些建议。
感谢。
答案 0 :(得分:0)
用于与Windows服务通信的MSMQ或SQL Service Broker。
asp.net page sends start request
------------MSMQ------------>
Windows service picks up message
and starts the long running job.
As progress is made, it can be
recorded in a "Jobs" table
client checks status from the Jobs table
IIS app pool recycles
.... days pass
Service completes work, and records
the job as Completed
Service might send email notification
with a link to the webpage
client can later retrieve the rendered job
如果您确实必须保留在IIS中,我仍然会使用MSMQ或SQL Server,但您只需将服务代码放在Application_Start
中。