Sadržaj:
Definicija - Što znači serializacija?
Serijalizacija je proces pretvaranja podataka o stanju objektne instance u binarni ili tekstualni oblik koji ostaje u mediju za pohranu ili se prenosi putem mreže.
Serijalizacija se izvršava u uobičajenom jeziku runtime (CLR) radi spremanja trenutnih informacija o stanju objekta u privremenu (poput ASP.NET cache) ili trajnu pohranu (datoteka, baza podataka itd.) Kako bi se kasnije koristila za ažuriranje objekta s ovim iste informacije. To uključuje pretvorbu javnih i privatnih članova objekta, uključujući ime klase i sklopa, u tok bajtova, koji se zatim upisuje u podatkovni tok. Obrnuti proces pretvaranja tokova bita u objekt naziva se deserijalizacija.
.NET okvir nudi dvije metode serializacije, naime, binarnu serializaciju i XML serializaciju. Binarna serializacija čuva stanje objekta između različitih poziva na aplikaciju čuvanjem vjernosti tipa. XML serializacija koristi XML kao otvoreni standard za serializaciju samo javnih svojstava i polja. Ne zadržava vjernost tipa, ali pruža podršku za serializaciju u XML-u, razumljivom XML-u, razumljivom u ljudi. Okvir pruža mnogo opcija za prilagođavanje postupka serializacije u skladu sa zahtjevima aplikacije.
Tehopedija objašnjava serizaciju
Serijalizacija se koristi kada se velike količine podataka moraju pohraniti u ravne datoteke i preuzeti kasnije. Da bi se to postiglo bez serializacije, postaje previše zamorno, sklono pogreškama i komplicirano jer je struktura podataka složena. Refleksija je tehnika koju okvir .NET pruža za automatsku serializaciju svih članova skupa u pohranu. Uklanjanje je koncept koji koristi binarnu serializaciju za slanje argumenata u metodama s jednog računala na drugo. Primjeri njegove uporabe uključuju spremanje stanja sesije u ASP.NET, kopiranje objekata u međuspremnik u Windows Forms itd. Serijalizacija (XML) se također koristi uglavnom za dijeljenje podataka širom mreže bez ograničavanja aplikacije na upotrebu podataka.
Serijalizacija se može implementirati u bilo koji .NET objekt uključivanjem atributa Serializable u klasu. Označavanjem atributa OptionalField na novo dodane članove klase, mogu se deserijalizirati starije verzije objekta bez ikakve pogreške. Pokretač serializacije koji se koristi u .NET okviru osigurava da se serializacija događa samo jednom po objektu i automatski rukuje grafovima objekata i kružnim referencama.
Ova je definicija napisana u kontekstu .NET