Zdravím,
snažím se do své aplikace implemtnovat možnost automatické synchronizace na SkyDrive. Ta aktuálně funguje tak, že se data uloží do .xml a odešlou skrze LiveSDK na server.
Problém je, kdy data odesílat / kdy je přijímat. Vzhledem tomu, že asynchroní odesílání chivlku trvá, tak nemůžu data uložit a odeslat při odchycení 'closing' a 'deactivated' v App.
Kvůli nedostatečnej inicializaci ostatních částí také nemohu data načíst v 'launching' a 'resume' (nebo jak to je). U MainPage_loaded mi zas s načítáním přijde trochu pozdě. Otázka je tedy, kdy je to podle Vás nejlepší.
//případně ještě jak elegantně vyřešit aby se vzala lokální data, když se stáhnou nějaká špatná.
Synchronizace se SkyDrive - kdy nejlépe provést v kódu?
-
- častý přispěvatel
- Příspěvky: 228
- Registrován: stř bře 28, 2012 12:46
- Zařízení: ano
Synchronizace se SkyDrive - kdy nejlépe provést v kódu?
Pri inicializácií ViewModelu načítaj XML z IsoStore a inicializuje sťahovanie zo SkyDrive. Keď ti dorazí XML zo SkyDrive tak zisti, či sú v ňom nejaké zmeny oproti načitanému a ak áno, ponúkni používateľovi aktualizáciu.
Ukladanie by bolo ideálne priebežne, ak to XML nie je nejaké obrovské, ale ukladať ho môžeš samozrejme zazipované, tým výrazne znížiš traffic.
Ukladanie by bolo ideálne priebežne, ak to XML nie je nejaké obrovské, ale ukladať ho môžeš samozrejme zazipované, tým výrazne znížiš traffic.
Synchronizace se SkyDrive - kdy nejlépe provést v kódu?
Ok, tak nějak jsem se to pokoušel implemtnovat a trochu jsem narazil.
Můj systém zálohy funguje víceméně tak, že serializuji data do .xml na IsolatedStorage a ten pak uploaduji na server. Problém je, že v aplikaci může nastat více změn poměrně rychle po sobě a je tak velká šance, že nová změna nastane, zatímco se ta první odesílá, což následně shodí aplikaci (nemůžu zapisovat do souboru jehož stream se odesílá).
Odbobný problém mám při aktualizaci ze SkyDrive, načtení (ačkoliv malého xml) trvá poměrně dlouho (1-2sekundy) za kterou uživatel v pohodě může stihnout něco změnit -> což může znovu vyvolat error.
Můj systém zálohy funguje víceméně tak, že serializuji data do .xml na IsolatedStorage a ten pak uploaduji na server. Problém je, že v aplikaci může nastat více změn poměrně rychle po sobě a je tak velká šance, že nová změna nastane, zatímco se ta první odesílá, což následně shodí aplikaci (nemůžu zapisovat do souboru jehož stream se odesílá).
Odbobný problém mám při aktualizaci ze SkyDrive, načtení (ačkoliv malého xml) trvá poměrně dlouho (1-2sekundy) za kterou uživatel v pohodě může stihnout něco změnit -> což může znovu vyvolat error.
-
- častý přispěvatel
- Příspěvky: 228
- Registrován: stř bře 28, 2012 12:46
- Zařízení: ano
Synchronizace se SkyDrive - kdy nejlépe provést v kódu?
Nechápem, to vážne načítavaš a odosielaš tú istú štruktúru, do ktorej ti používateľ zapisuje? Teda rovnakú štruktúru ti zapisuje používateľ aj kód, ktorý ťahá dáta zo SkyDrive? To je choré. Immutabilia je skvelá vec, nebráň sa jej
Ppp->Skydrive
vytvor si kópiu dát, ktoré chceš odoslať, serializuj do XML a zaraď do fronty na odosielanie na SkyDrive.
Skydrive->App
Načítaj XML zo SkyDrive, deserializuj a porovnaj výslednú štruktúru s tou v aplikácií. Jednoduché.
Ppp->Skydrive
vytvor si kópiu dát, ktoré chceš odoslať, serializuj do XML a zaraď do fronty na odosielanie na SkyDrive.
Skydrive->App
Načítaj XML zo SkyDrive, deserializuj a porovnaj výslednú štruktúru s tou v aplikácií. Jednoduché.
Synchronizace se SkyDrive - kdy nejlépe provést v kódu?
Pravda, nebyl to zrovna nejrobustnější návrch, ale zas asi nejjednošušší a z hlediska kódu nejkratší. Chvíli jsem se snažil o serializaci do streamu, který rovnou odešlu (tj. jsem se chtěl zbavit nutnosti první ukládat to ISstorage), bohužel jsem se zasekl na problémech se Streamy (moc jsem s nimi zatím nepracoval).
Nicméně podívám se na to a upravím to.
Nicméně podívám se na to a upravím to.
Synchronizace se SkyDrive - kdy nejlépe provést v kódu?
Ok, tak už na tom pracuju a narazil jsem na drobný problém. Více informací zde:
http://stackoverflow.com/questions/1151 ... ory-stream" onclick="window.open(this.href);return false;
//prosím odpovězte tam, přeci jen na to třeba někdo také narazí.
///A odhlédněte od úrovně angličtiny, nepsal jsem to s důrazem na gramatiku.
http://stackoverflow.com/questions/1151 ... ory-stream" onclick="window.open(this.href);return false;
//prosím odpovězte tam, přeci jen na to třeba někdo také narazí.
///A odhlédněte od úrovně angličtiny, nepsal jsem to s důrazem na gramatiku.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti