C# 可重复背景法
所以我一直在到处寻找一种方法来做这件事,但没有成功。 我正在做一个MVC5项目。 我正在尝试一种方法,它可以做一些特殊的事情,每10分钟在我程序的后台重复运行一次(该方法从其他站点获取信息并将它们放入数据库)C# 可重复背景法,c#,asp.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,所以我一直在到处寻找一种方法来做这件事,但没有成功。 我正在做一个MVC5项目。 我正在尝试一种方法,它可以做一些特殊的事情,每10分钟在我程序的后台重复运行一次(该方法从其他站点获取信息并将它们放入数据库) 我希望通过链接提供一些示例,或者提供一些指导,以便以有效的方式进行操作。使用定时事件如何 var timer = new System.Timers.Timer(600,000); timer.elapsed += (sender, e) => { /*fetch data*/ };
我希望通过链接提供一些示例,或者提供一些指导,以便以有效的方式进行操作。使用定时事件如何
var timer = new System.Timers.Timer(600,000);
timer.elapsed += (sender, e) => { /*fetch data*/ };
尝试将这样的IIS线程绑定到后台工作中不是一个好主意。更好的选择是让一个单独的进程来完成这项工作,例如Windows服务。但是,如果您在可使用的选项中受到限制,则可能:
- 创建一个简单的控制台应用程序来完成这项工作,并设置一个Windows计划任务以10分钟的间隔运行它。(假设您可以在部署设置中执行此操作)
- 如果所有其他操作都失败,请在执行该任务的控制器上创建正常操作方法。该任务将在点击url时执行。。。因此,通过CRON作业(通常由托管提供商提供)每隔10分钟点击一次该url
这不是您的典型选项,但我觉得它们可能对您很实用。您应该在主机上将其作为单独的Windows服务运行……或者制作一点.exe并运行一个计划任务。您的应用部署在哪里?蔚蓝色的前提是?这将很好地工作,直到进程从IIS运行时回收到中间。很好的提示。