Автоматична проверка дали изходният код на уеб страница е променен

Нов съм в програмирането на 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;
    }

Това се изпълнява само след като програмата се изпълнява. Бих искал така, че потребителят да не стартира програмата, за да актуализира текстовия файл, който създава.


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


Отговори (2)


Добавете таймер към проекта, задайте интервала на 86400000 ms (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