Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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# 调度程序调用url_C#_Asp.net Mvc_Scheduled Tasks - Fatal编程技术网

C# 调度程序调用url

C# 调度程序调用url,c#,asp.net-mvc,scheduled-tasks,C#,Asp.net Mvc,Scheduled Tasks,寻求有关如何创建计划程序以在每天结束时调用操作方法(url)以生成报告的建议 我有一个使用ASP.NET MVC 5创建的现有web应用程序,我需要一个使用自动化流程调用的操作方法。目前,我正在一天结束时手动调用该链接。您可以尝试以下方法 首先,创建一个批处理文件,通过该文件可以请求URL。(您可以从中获得帮助) 创建一个基本Windows任务计划程序,并将操作设置为“启动程序”,并将其指向批处理文件 任务应每天在指定的时间触发 试试这个。你在点击链接吗?你就这么做了吗 您必须首先通过元素ID或

寻求有关如何创建计划程序以在每天结束时调用操作方法(url)以生成报告的建议


我有一个使用ASP.NET MVC 5创建的现有web应用程序,我需要一个使用自动化流程调用的操作方法。目前,我正在一天结束时手动调用该链接。

您可以尝试以下方法

  • 首先,创建一个批处理文件,通过该文件可以请求URL。(您可以从中获得帮助)

  • 创建一个基本Windows任务计划程序,并将操作设置为“启动程序”,并将其指向批处理文件

  • 任务应每天在指定的时间触发

  • 试试这个。

    你在点击链接吗?你就这么做了吗

    您必须首先通过元素ID或其他过滤器找到元素:

    HtmlElement fbLink = webBrowser.Document.GetElementByID("fbLink");
    
    和模拟“点击”:

    通过内部文本查找链接的示例:

    HtmlElement FindLink(string innerText)
    {
        foreach (HtmlElement link in webBrowser.Document.GetElementsByTagName("a"))
        {
            if (link.InnerText.Equals("Google Me"))
            {
                return link;
            }
        }
    }
    
    只需在C#中创建一个可执行文件并将其保存在您的计算机上。然后,使用Windows计划程序调用该exe文件


    您应该研究一下Azure Scheduler,它是一种微服务,完全按照您所描述的做。如果您每小时只需要调用一次端点,那么免费层就足够了

    最好的解决方案是使用在时间触发器上运行或连接到cron触发器的Azure Web作业

    创建一个控制台应用程序。 从NuGet安装Microsoft.Azure.Webjobs包和Microsoft.Azure.Webjobs.Extensions包

    将此添加到Program.cs

      public static void Main()
      {
          JobHostConfiguration config = new JobHostConfiguration();
          config.UseTimers();
    
          JobHost host = new JobHost(config);
          host.RunAndBlock();
      }
    
    在Functions.cs类中:(每24小时运行一次的时间触发器)

    如果需要在特定时间运行,请在触发器中使用cron表达式:


    我使用Azure Scheduler模拟调用我网站上的链接
      public static void Main()
      {
          JobHostConfiguration config = new JobHostConfiguration();
          config.UseTimers();
    
          JobHost host = new JobHost(config);
          host.RunAndBlock();
      }
    
     public class Functions
        {
            public static void UpdateCurrencyExchange([TimerTrigger("24:00:00")] TimerInfo timerInfo, TextWriter log)
            {
                //Invoke your method with a Webclient here
            }
         }