Serializace objektů   otázka

VB.NET, XML

Jak se vyrovnáváte s omezením daným XML serializací objektů? Např. konstruktor bez parametrů, nelze mít readonly vlastnosti, nelze mít typ interface, apod.

Lze daná omezení nějak obejít nebo to řešíte úpravou tříd nebo případně označením nekompatibilních metod jako donotserialize?

Postupně zjištuji, že komplexnější třídy musím upravovat aby se daly serializovat do XML. A tak zjištuji zda to nejde nejak zjednodušit.

P.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Řeším to binární serializací. XML serializace je na cokoliv jiného než jednoduché věci (konfigurační soubory a přenos dat na webu) naprosto nepoužitelná.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Toho jsem se bál. Takže když potřebuji udělat nejaké třídy a uveřejnit je jako "web service" tak s omezeními XMl serializace musím žít. Chápu to správně?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Bohužel je to tak. Ta omezení mají samozřejmě svoje důvody.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ona řada problému jde vyřešit, většinou nějakým serialiačním atributem. Ale rozhodně ne všechny. Jak říkal pan Linhart, je potřeba zvážit, jestli čitelnost a zpracovatelnost webovou XML SOAP službou stojí za ty problémy a jestli je to vůbec vhodné řešení. To se odvíjí od složitosti a množství dat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback