我有一个长时间运行的任务(很多小时),它是通过 Intranet 界面上的网页启动的。这是一个 ASP.Net 3.5 项目。当然,我可以延长脚本超时并让页面运行几个小时,但我不认为这是一个干净的解决方案。我在某处读到长时间运行的任务不应该是 Web 应用程序池的子项,因为它可以随时被 IIS 重置。为了寻找解决方案,我阅读了一些有关 Quartz.Net 的信息,但大多数示例都在谈论重复性工作。我想知道它是否也适用于用户要求时只运行一次的任务。还是有其他更好的解决方案?
此外,如果 Quartz.Net 是一个不错的选择,它应该作为 Windows 服务运行,还是应该由 ASP.Net 网站使用 Global.asax 生成?