Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在IIS中的API REST C中每小时调用一个方法_C# - Fatal编程技术网

C# 如何在IIS中的API REST C中每小时调用一个方法

C# 如何在IIS中的API REST C中每小时调用一个方法,c#,C#,我需要在IIS中每隔一小时在我的project API REST publish中执行一个方法,我尝试了: 在WebApiApplication类的方法Application\u Start中,我将 timerBack = new Timer() { Interval = time, Enabled = true, AutoReset = true }; timerBack.

我需要在IIS中每隔一小时在我的project API REST publish中执行一个方法,我尝试了:

在WebApiApplication类的方法Application\u Start中,我将

 timerBack = new Timer()
        {
            Interval = time,
            Enabled = true,
            AutoReset = true
        };
        timerBack.Elapsed += new ElapsedEventHandler(testmethod);
但千万不要叫应用程序启动


请帮帮我。

IIS不是一个好的计划任务系统。它用于托管本质上无状态的web应用程序。如果您需要定期运行任务,调度程序或服务启动的控制台应用程序可能更适合您。它仍然可以在您的WebAPI中调用执行该操作的操作,但日程安排不应该是WebApp的一部分

此外,我应该提到,在IIS中保持会话的活动性是脆弱的,并且充满了问题。默认情况下,它将在20分钟内无活动(通常通过对服务器的请求来衡量)终止会话。即使在应用程序启动时添加了一些东西,您也希望它在被终止后很久再做一些事情


长话短说,你想做的事情不能(不应该)不参与脆弱、笨拙的黑客活动。这不是它的设计目的。

IIS不是一个好的计划任务系统。它用于托管本质上无状态的web应用程序。如果您需要定期运行任务,调度程序或服务启动的控制台应用程序可能更适合您。它仍然可以在您的WebAPI中调用执行该操作的操作,但日程安排不应该是WebApp的一部分

此外,我应该提到,在IIS中保持会话的活动性是脆弱的,并且充满了问题。默认情况下,它将在20分钟内无活动(通常通过对服务器的请求来衡量)终止会话。即使在应用程序启动时添加了一些东西,您也希望它在被终止后很久再做一些事情


长话短说,你想做的事情不能(不应该)不参与脆弱、笨拙的黑客活动。这不是它的设计目的。

除非这些年来我一直在错误地使用它,否则IIS不是一个好的计划任务系统。它用于托管本质上无状态的web应用程序。如果您需要定期运行任务,调度程序或服务启动的控制台应用程序可能更适合您。它仍然可以在你的WebAPI中调用一个操作来完成这项工作,但是日程安排不应该是WebApp的一部分。我同意@gilliduck的观点。另外,我通常使用的方法是在一个短时间内被用户调用的方法中执行操作。您可能想考虑Windows任务调度程序I,假设另一种选择是使用类似的方法,但我喜欢@ GiLi鸭提供的方法。你想完成什么,OP?除非您将其设置为,否则应用程序启动直到流程被激活(通常是第一个入站HTTP请求)才会执行。除非这些年来我一直在错误地使用它,否则IIS不是一个好的计划任务系统。它用于托管本质上无状态的web应用程序。如果您需要定期运行任务,调度程序或服务启动的控制台应用程序可能更适合您。它仍然可以在你的WebAPI中调用一个操作来完成这项工作,但是日程安排不应该是WebApp的一部分。我同意@gilliduck的观点。另外,我通常使用的方法是在一个短时间内被用户调用的方法中执行操作。您可能想考虑Windows任务调度程序I,假设另一种选择是使用类似的方法,但我喜欢@ GiLi鸭提供的方法。你想完成什么,OP?除非您将其设置为,否则应用程序启动直到流程被激活(通常是第一个入站HTTP请求)才会执行。