我是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。
答案 0 :(得分:0)
简单的解决方案是编写一个每天会触发一次的Windows服务,并为您完成此操作。 它会增加一些复杂性,但做你想要的。
修改强>:
如果你想将它作为windows应用程序的一部分,你可以设置一个计时器,或者每隔x个时间轮询一次,但是你的应用程序需要一直打开才能实现。
如果您想独立于使用它的Windows程序收集数据,则必须在后台运行单独的服务。当然,你可以在后台设置一个简单的控制台窗口,它会为你做这件事,但是这样的hackish它应该是非法的。
答案 1 :(得分:0)
为项目添加一个计时器,将间隔设置为86400000毫秒(24小时),然后在tick事件中调用你的函数,不是最好的解决方案,最好是添加为cron作业或者其他东西,但是如果是专用机器,请确保它能正常工作。