Udostępnij za pośrednictwem


Serializacja (C# i Visual Basic)

Serializacja jest procesem konwertowania obiektu na strumień bajtów, aby zapisać obiekt lub przekazuje je do pamięci, bazy danych lub plik.Jego głównym celem jest zapisanie stan obiektu, aby móc odtworzyć go w razie potrzeby.Przeciwny proces jest nazywany deserializacji.

Przykłady serializacji, zobacz Pokrewne tematy i przykłady dalszej części tego tematu.

Jak działa serializacji

Ta ilustracja pokazuje całego procesu serializacji.

Grafika serializacji

Obiekt jest seryjny ze strumieniem, niesie ze sobą nie tylko dane, ale informacje o typie obiektu, takie jak nazwa wersji, kultury i montażu.Z tego strumienia mogą być przechowywane w bazie danych, pliku lub pamięci.

Zastosowania do serializacji

Serializacja pozwala programiście do zapisywania stanu obiektu i odtworzyć ją zależnie od potrzeby, zapewnienie składowania obiektów, jak również wymiany danych.Za pomocą serializacji Deweloper można wykonywać czynności, takich jak wysyłanie obiekt do zdalnej aplikacji przy użyciu usługi sieci Web, przekazując obiekt z jednej domeny do innej, przekazując obiekt przez zaporę jako ciąg znaków XML lub obsługę zabezpieczeń lub informacje specyficzne dla użytkownika w aplikacji.

Dokonywanie możliwy do serializacji obiektu

Do serializacji obiektu, obiekt do szeregowania, czego potrzebujesz, strumień, aby zawierać szeregowany obiekt, a co Formatter.System.Runtime.Serializationzawiera klasy, które są niezbędne do szeregowania i podczas deserializacji obiektów.

Zastosowanie SerializableAttribute przypisują typ, aby wskazać, że wystąpienia tego typu może być serializowany.A SerializationException jest wyjątek podczas próby serializacji, ale nie ma typu SerializableAttribute atrybut.

Jeśli nie chcesz pola w ramach swojej klasy, aby mieć możliwość serializowania, stosować NonSerializedAttribute atrybut.Jeśli pole Typ możliwy do serializacji zawiera wskaźnik, uchwyt lub niektóre inne struktury danych, specyficzne dla danego środowiska, a pole nie może znacząco odtworzone w innym środowisku, możesz uczynić go nonserializable.

Jeśli klasa serializowane zawiera odwołania do obiektów innych klas, które są oznaczone jako SerializableAttribute, te obiekty, również będą wykonywane szeregowo.

Binarne i serializacji XML

Plik binarny lub serializacji XML może służyć.Serializacja binarna wszystkich członków, nawet tych, które są tylko do odczytu są szeregowane w zwiększa wydajność.Serializacji XML zapewnia bardziej czytelny kod, jak również większą elastyczność wykorzystania na współdziałanie i udostępnianie obiektów.

Serializacja binarna

Serializacja binarna kodowanie binarne, tworzenie za pomocą serializacji compact do zastosowań, takich jak nośniku lub w strumienie sieciowe oparte na gnieździe.

Serializacji XML

Serializacji XML serializes publicznych pola i właściwości obiektu, lub parametrów i wartości zwracane metod, w strumieniu XML, który jest zgodny z określonego dokumentu języka (XSD) definicji schematu XML.Wyniki serializacji XML w jednoznacznie określone typy klas z właściwości publiczne i polami, które są konwertowane do formatu XML.System.Xml.Serializationzawiera klasy, które są niezbędne do szeregowania i podczas deserializacji kodu XML.

Atrybuty można zastosować do klasy i elementy klas, w celu kontrolowania sposobu XmlSerializer serializes lub deserializes wystąpienie klasy.

Serializacji protokołu SOAP

Serializacji XML może również służyć do serializacji obiektów do strumieni XML, które są zgodne ze specyfikacją protokołu SOAP.Protokół SOAP jest protokołem oparte na języku XML, zaprojektowane z myślą o transport wywołań procedur, za pomocą języka XML.Ponieważ z regularnych serializacji XML, atrybuty mogą być używane do kontrolowania wiadomości SOAP-literał generowanych przez usługi XML sieci Web.

Serializacja podstawowe i niestandardowe

Serializacja można przeprowadzić na dwa sposoby, podstawowe i niestandardowe.Podstawowe serializacji używa.NET Framework automatycznie serializacji obiektu.

Serializacja podstawowe

Jedynym wymaganiem w podstawowych serializacji jest, że obiekt ma SerializableAttribute zastosowany atrybut.NonSerializedAttribute Można zapobiec poddany serializacji w konkretnych dziedzinach.

Korzystając z podstawowych serializacji, przechowywanie wersji obiektów mogą stwarzać problemy, w którym to przypadku serializacji niestandardowej może być bardziej pożądane.Serializacji podstawowego jest najprostszym sposobem wykonywania serializacji, ale nie zapewnia poziomu kontroli nad procesem.

Serializacji niestandardowej

W serializacji niestandardowej można określić dokładnie obiekty, które będą wykonywane szeregowo i jak będzie to miało miejsce.Tej klasy muszą być oznaczone jako SerializableAttribute i wdrożenie ISerializable interfejsu.

Jeśli chcesz, aby obiekt do rozszeregowania w niestandardowy sposób, jak również, należy użyć niestandardowego konstruktora.

Projektant serializacji

Projektant serializacji jest szczególna forma serializacji, która obejmuje rodzaj trwałość obiektu zwykle związane z narzędziami programistycznymi.Projektant serializacji to proces konwersji wykresu obiektu do pliku źródłowego, które później mogą być używane do odzyskania wykres obiektu.Plik źródłowy może zawierać kod, znacznik lub nawet informacje tabeli SQL.Aby uzyskać więcej informacji, zobacz Przegląd serializacji projektanta.

Pokrewne tematy i przykłady