0

我有一个用C#开发的Web应用程序,它从数据库中检索数据并将检索结果写入文件。我需要做的是能够定期在我的服务器(微软服务器)上运行这个网络应用程序,每天说一次更新数据。我认为使用schedular将是这样做的方式,但我不知道如何让它运行我的web应用程序,即我的.sln文件。我看了下面的帖子,提出了一些建议: Running a web app automatically 但需要多一点指导。在微软服务器上运行C#web应用程序和调度器

回答

3

你可以写一个控制台应用程序将发送一个HTTP请求到Web应用程序:

class Program 
{ 
    static void Main() 
    { 
     using (var client = new WebClient()) 
     { 
      var result = client.DownloadString("http://example.com/test.aspx"); 
      File.WriteAllText("foo.txt", result); 
     } 
    } 
} 

,然后配置Windows调度运行,在给定的时间这个控制台应用程序。

+0

嗨,感谢您的回复。我有一个方法writeToFile()写入不同格式的数据,有没有办法说var result = client.DownloadString(writeToFile()); –

+0

@John D,当然,让我更新我的答案。完成。 –

+0

感谢您的快速响应。要更清楚一点。我有一堆读取和写入到我的writeToFile()方法中执行的文件。主要执行该方法的方法是什么,以便我可以在调度中使用它。 –

0

使用Windows计划任务。如果您需要在Web上下文中运行,请让计划任务检索一个URL,以启动处理。

0

Here是一个示例VB脚本,可以由任务调度程序调用以使ASP.NET页面执行。

即使这种解决方案相当普遍,它并不是一个很好的解决方案。如果您有需要每日运行的定期维护任务,请创建一个控制台应用程序并直接从计划任务调用该应用程序。如果您需要更频繁地运行它,或者响应其他事件,则Windows服务更好。

相关问题