我在控制台应用程序中有大约 40 行 .NET 代码,用于读取 RSS 源并将信息存储在数据库中。只要 RSS 提要存在(无限期地),我就需要每晚执行此代码。目前,我只是启动控制台应用程序。从我的家用电脑。
因为我不能相信自己每天晚上都记得执行此操作,所以我以某种方式需要托管此代码。我想以某种方式拥有这个应用程序。或代码(它可以轻松地放入 ASP.NET 页面代码隐藏中并在页面加载时触发执行)自动运行,而无需我运行控制台应用程序。手动。
有什么想法吗?
编辑:我不想从我的计算机运行此代码;我无法保证我的计算机不会休眠或每晚都不会连接到互联网。
编辑:现在我正在考虑在global.asax的Application_Start中使用BackgroundWorker生成一个后台线程,让它每天下载一次RSS feed,并在其余时间使用Thread.Sleep()。
最佳答案
尽管存在争议,Jeff Atwood 在博客中介绍了他们如何使用缓存过期来实现这一目标。查看https://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/ .
您可以使用类似的方法并安排缓存在您希望进程开始时过期。
关于c# - 在托管环境中计划执行 .NET 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1585517/