如何在asp.net mvc中每月进行一次特定的过程

本文关键字:一次 过程 asp net mvc | 更新日期: 2023-09-27 18:29:14

我正在尝试写一个网站,现在我需要每月(在每个月底)做一个特定的方法。

假设方法是Method A()

我想在每个月底运行它。

那么现在该如何运行呢?

更新:

网站的使命是另一回事。只是其中的一部分,我需要这样做。

我不知道,但我想也许在每个月底开始的应用程序中运行这个方法可以解决它,但我不确定它是否正确。

如何在asp.net mvc中每月进行一次特定的过程

ASP.NET MVC用于编写web应用程序,而不是计划任务。

Web应用程序被构造为请求/响应系统。它们不适合于需要定期执行的后台任务。他们收到一个请求,对该请求作出响应,然后就完成了。在空闲时,web应用程序要接受web服务器的资源管理,这可能包括在等待下一个请求时完全关闭它。

相反,您要使用的是Windows服务或控制台应用程序(由任务调度程序调用,例如Windows附带的任务调度程序)。这将分别在后台连续运行或以规则的间隔运行。这个应用程序可能非常小,只调用一个方法,而不调用其他方法。

简而言之。。。如果您想运行代码以响应用户请求,那么web应用程序将完成这项工作。如果您希望在不考虑用户请求的情况下定期运行代码,那么计划任务就是您想要的。

嗯,这似乎不属于网站。也就是说,它不应该在任何地方的ASP.NET中运行。也许它应该在后台运行,或者在后台运行的服务,或者数据库作业或计划任务中运行。但是,如果你只有一项工作,那么可能更容易有一个按钮,当按下时会调用方法a(),并将其放在网站的登录部分,并进行某种排序权限检查,以确保除了正确的人之外没有人按下它。你也可以在方法中进行检查,确保它每月只运行一次。如果你能确定网站的其余部分正在使用,你可以在其他方法中加入CheckToSeeIfISshouldCallMethodA方法,但所有这些似乎都比在后端运行的方法更糟糕。