我有以下情景, 在ASP.Net应用程序中,只要3周的时间到期,就需要执行一段代码。期间的结束日期存储在sql数据库中。我正在寻找可能的解决方案。 一种方法是设置Windows服务以在sql server中保留池结束日期,然后执行代码。有人建议任何更好的方法。
答案 0 :(得分:1)
您可以使用计划任务。根据您的需要,将其设置为每天/每小时运行。它将汇集数据库,检查日期,并决定是否需要继续执行。 我发现计划任务更容易维护,因为您只是创建一个不需要包含服务代码的控制台应用程序。
答案 1 :(得分:0)
您应该查看Quartz Scheduler.
Quartz可以托管在ASP.NET WebApplication中,但您必须通过将 StartMode 设置为 AlwaysRunning 并空闲时间来避免应用程序池入睡到 0 。
答案 2 :(得分:0)
您可以使用hangfire并完成简单易用的工作:http://hangfire.io/
像这样:
BackgroundJob.Schedule( () => Console.WriteLine("Reliable!"), TimeSpan.FromDays(7));
很高兴为您服务!