自动检查网页源代码是否已更改

时间:2014-08-16 00:15:11

标签: c# wpf webclient

我是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。

2 个答案:

答案 0 :(得分:0)

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

修改
如果你想将它作为windows应用程序的一部分,你可以设置一个计时器,或者每隔x个时间轮询一次,但是你的应用程序需要一直打开才能实现。

如果您想独立于使用它的Windows程序收集数据,则必须在后台运行单独的服务。当然,你可以在后台设置一个简单的控制台窗口,它会为你做这件事,但是这样的hackish它应该是非法的。

答案 1 :(得分:0)

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