C# hálózaton keresztüli frissítő program

C# hálózaton keresztüli frissítő program
2007-02-23T13:30:10+01:00
2007-02-23T14:09:32+01:00
2022-11-03T12:10:37+01:00
Tomatos
Írtam egy programot ami több filet másol át egy megadott szerverről az ügyfél saját gépén már meglévő fájlok frissítésére. Tehát ha a szerveren újabb a fájlok dátuma, vagy az exe-k verziója akkor átmásolja az ügyfélhez a régit felülírva. A hiba ott kezdődik, hogy a hálózat néha nagyon belassul és ezért az ügyfél gépén a windows a programomat Nem válaszoltá teszi a másolás közben. Ja és persze amiket másolok nem kis fájlok van benne 6db EXE file amik mérete 2megától akár 6 mega is lett.

A másolási rutin .NET függvény:

if (File.Exists(celfajl) == true) { if ((verzioinfo(forrasfajl) != verzioinfo(celfajl))) // itt a fájlverzióellenőrzés { File.Copy(forrasfajl, celfajl, true); adatfeliras("Másolás: " + forrasfajl + " fájl másolása ide: " + celfajl); } }

A másolás közbe még egy ProgressBar-t is futtatok, ez akkor ugrik egyet (pBar.PerformStep();), ha egy fájlt átmásolt.
A program betöltésénél már kiküszöböltem a 2x indítást Threading dologgal.
Milyen megoldás lehetne arra, hogy a progressbár rendesen fusson és a windows ne adjon neki Nem válaszoltat, mert kicsit idegesítő ha 10 percig másol de a windows meg 2 perc után nem válaszolttá teszi?!

Köszi a válaszokat előre is.
Sajna még kezdő vagyok úgyhogy kérem magyarázzátok érthetően. Köszönöm!
Mutasd a teljes hozzászólást!
Egy külön threadben kellene a letöltést futtatnod. Ha 2.0 akkor a backgroundworkerrel ez tökéletesen kivitelezhető és visszajelzést is tudsz adni az eseményén keresztül.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd