개발 직렬화 란 무엇입니까? -techopedia에서 정의

직렬화 란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-직렬화 란 무엇을 의미합니까?

직렬화는 객체 인스턴스의 상태 정보를 이진 또는 텍스트 형식으로 변환하여 저장 매체에 유지되거나 네트워크를 통해 전송되는 프로세스입니다.


직렬화는 CLR (Common Language Runtime)에 의해 실행되어 객체의 현재 상태 정보를 임시 (ASP.NET 캐시와 같은) 또는 영구 저장소 (파일, 데이터베이스 등)에 저장하여 나중에 객체를 업데이트하는 데 사용합니다 같은 정보. 여기에는 클래스 및 어셈블리 이름을 포함하여 객체의 공용 및 개인 구성원을 바이트 스트림으로 변환 한 다음 데이터 스트림에 기록됩니다. 비트 스트림을 객체로 변환하는 역 프로세스를 역 직렬화라고합니다.


.NET 프레임 워크는 이진 직렬화와 XML 직렬화의 두 가지 직렬화 방법을 제공합니다. 이진 직렬화는 형식 충실도를 유지하여 응용 프로그램의 다른 호출간에 개체 상태를 유지합니다. XML 직렬화는 공개 속성으로 XML을 사용하여 공용 속성 및 필드 만 직렬화합니다. 형식 충실도를 유지하지는 않지만 사람이 읽을 수있는 크로스 플랫폼 XML에서 직렬화를 지원합니다. 이 프레임 워크는 응용 프로그램 요구 사항을 충족시키기 위해 직렬화 프로세스를 사용자 정의하는 많은 옵션을 제공합니다.

Techopedia는 직렬화를 설명합니다

직렬화는 대량의 데이터를 플랫 파일에 저장하고 나중에 검색해야 할 때 사용됩니다. 직렬화없이 이것을 달성하기 위해서는 데이터 구조가 복잡하기 때문에 너무 지루하고 오류가 발생하기 쉽고 복잡해집니다. 리플렉션은 .NET 프레임 워크가 어셈블리의 모든 멤버를 자동으로 스토리지에 직렬화하기 위해 제공하는 기술입니다. 원격은 이진 직렬화를 사용하여 한 컴퓨터에서 다른 컴퓨터로 메서드의 인수를 보내는 개념입니다. 사용 예에는 ASP.NET의 세션 상태 저장, Windows Forms의 클립 보드로 개체 복사 등이 포함됩니다. 직렬화 (XML)는 주로 데이터 사용에 대한 응용 프로그램을 제한하지 않고 네트워크를 통한 데이터 공유에 사용됩니다.


Serializable 특성을 클래스에 포함시켜 모든 .NET 개체에서 직렬화를 구현할 수 있습니다. OptionalField 속성을 클래스의 새로 추가 된 멤버에 태그를 지정하면 이전 버전의 객체를 오류없이 직렬화 해제 할 수 있습니다. .NET 프레임 워크에서 사용되는 직렬화 엔진은 직렬화가 오브젝트 당 한 번만 발생하고 오브젝트 그래프 및 순환 참조를 자동으로 처리하도록합니다.


이 정의는 .NET의 맥락에서 작성되었습니다.

직렬화 란 무엇입니까? -techopedia에서 정의