【问题标题】:Automatically Check if a webpage source code has changed自动检查网页源代码是否已更改
【发布时间】:2014-08-16 00:15:11
【问题描述】:

我是 C#/WPF 编程的新手,如果某个页面的源代码发生更改,我会尝试自动更新源代码的本地副本。有没有办法每隔一天检查一次源代码,而我不必手动执行差异?

获取我拥有的网站的源代码

Private bool getSourceCode(string UserInputSub)

    {
        //insert error catching..
        using (WebClient webClient = new WebClient()) //Get source code of page.. user //enters URL
        {
            string s = webClient.DownloadString(UserInputSub);
            string fixedString = s.Replace("\n", "\r\n");
            string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            string FilePath = desktopPath + "\\SourceCode.txt";
            System.IO.StreamWriter wr = new System.IO.StreamWriter(@FilePath);
            wr.Write(fixedString);//writes to script
            wr.Close();
        }
        return true;
    }

这仅在程序运行时运行。我想要它,这样用户就没有运行程序来更新它产生的 txt。

【问题讨论】:

    标签: c# wpf webclient


    【解决方案1】:

    在项目中添加一个计时器,将间隔设置为 86400000 毫秒(24 小时),然后在滴答事件中调用您的函数,这不是最好的解决方案,最好是添加为 cron 作业或其他东西,但是如果是专用机器,请确保它可以工作。

    【讨论】:

      【解决方案2】:

      简单的解决方案是编写一个每天触发一次的 Windows 服务,然后为您执行此操作。 它会增加一些复杂性,但做你想做的。

      编辑
      如果您希望将其作为 Windows 应用程序的一部分,您可以设置一个计时器,或每隔 x 时间轮询一次,但是您的应用程序需要一直处于打开状态才能发生这种情况。

      如果您想独立于使用数据的 Windows 程序收集数据,则必须在后台运行一个单独的服务。当然,你可以在后台有一个简单的控制台窗口来为你做这件事,但那太骇人听闻了,应该是非法的。

      【讨论】:

      • 有没有办法将它包装在 Windows 应用程序中。还是 win 应用程序和 win 服务将事物分开?
      猜你喜欢
      • 2019-05-11
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 2018-09-13
      相关资源
      最近更新 更多