调度程序调用URL

时间:2016-10-23 23:46:32

标签: c# asp.net-mvc scheduled-tasks

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

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

4 个答案:

答案 0 :(得分:0)

您可以尝试以下方法。

  1. 首先,创建一个批处理文件,您可以通过该文件请求URL。 (您可以从Open a URL without using a browser from a batch file

  2. 获取帮助
  3. 创建基本Windows任务计划程序并将操作设置为"启动程序"并将其指向您的批处理文件。

  4. 任务应在指定时间触发每日。
  5. 试试这个。

答案 1 :(得分:0)

您应该查看Azure Scheduler,这是一项微服务,它完全按照您的描述进行操作。如果您只需要每小时呼叫一次端点,则免费套餐就足够了。

答案 2 :(得分:0)

最佳解决方案是使用在时间触发器上运行的Azure Web作业或挂钩到cron触发器。

创建一个控制台应用。 从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小时运行一次TimeTrigger)

 public class Functions
    {
        public static void UpdateCurrencyExchange([TimerTrigger("24:00:00")] TimerInfo timerInfo, TextWriter log)
        {
            //Invoke your method with a Webclient here
        }
     }

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

http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/#.WGyYEfkrIuU

答案 3 :(得分:-1)

您是否点击了链接?这就是你要做的一切吗?

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

HtmlElement fbLink = webBrowser.Document.GetElementByID("fbLink");

并模拟"点击":

fbLink.InvokeMember("click");

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

HtmlElement FindLink(string innerText)
{
    foreach (HtmlElement link in webBrowser.Document.GetElementsByTagName("a"))
    {
        if (link.InnerText.Equals("Google Me"))
        {
            return link;
        }
    }
}

只需在C#中创建一个可执行文件并将其保存在您的计算机上。然后,使用Windows Scheduler调用该exe文件。

http://www.digitalcitizen.life/how-create-task-basic-task-wizard