Автоматически проверять, изменился ли исходный код веб-страницы

Я новичок в программировании на C#/WPF и пытаюсь автоматически обновить локальную копию исходного кода, если исходный код для определенной страницы изменился. Есть ли способ проверить исходный код, скажем, через день, без необходимости вручную выполнять diff?

Чтобы получить исходный код для веб-сайта, который у меня есть

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.


person user229662    schedule 16.08.2014    source источник


Ответы (2)


Добавьте таймер в проект, установите интервал на 86400000 мс (24 часа), а затем в событии тика вызовите свою функцию, это не лучшее решение, лучше будет добавить как задание cron или что-то в этом роде, но если это специальная машина, уверен, что она будет работать.

person Ricardo Umpierrez    schedule 16.08.2014

Простым решением было бы написать службу Windows, которая будет запускаться один раз в день, и делать это за вас. Это добавит некоторую сложность, но делайте то, что хотите.

редактировать:
Если вы хотите, чтобы это было частью приложения Windows, вы можете установить таймер или опрашивать каждые x раз, но тогда ваше приложение должно быть открыто все время для этого случаться.

Если вы хотите собирать данные независимо от программы Windows, которая их использует, вам потребуется отдельная служба, работающая в фоновом режиме. Конечно, вы можете иметь простую консоль в фоновом режиме, которая сделает это за вас, но это настолько хакерски, что должно быть незаконным.

person Noctis    schedule 16.08.2014
comment
есть ли способ обернуть это в приложение Windows. или приложения win и сервисы win для разделения вещей? - person user229662; 16.08.2014