我的ASP.NET应用程序需要许多支持服务才能在后台定期运行.例如:
>我需要每1-5分钟查询一次数据库(或缓存),识别过期的工作项并通过电子邮件通知用户
>我需要生成每晚报告,然后通过电子邮件发送给订阅者
>加上其他系统/非用户管理任务
实施这些服务的最佳方式是什么?我应该将它们作为Web应用程序的一部分包含在内,在Application_Start()中启动每个“服务”的实例吗?或者将它们创建为实际的独立服务?如果他们是Web应用程序的一部分,我可以利用我的缓存数据存储,但这种方法有任何缺点吗?
谢谢你的建议.
解决方法
今年我需要实现一个任务来缓存数据库中的一些数据,它必须每隔n分钟验证一次更改的代码,我发现这篇非常好的文章;
Simulate a Windows Service using ASP.NET to run scheduled jobs
我这样做是有效的,但正如我告诉你的那样,这只是一项任务,但如果你看到上面的例子,你可以看到它执行了几项任务.
正如您所看到的,在缓存中,您可以在任何时间和间隔执行任务,夜间任务可以在午夜完成,其他任务可以每n分钟或几小时完成.
希望能帮助到你.