성능 향상을 위해 직렬화된 개체의 압축된 형태를 생성하는 과정으로 네트워크 이동 속도가 빨라집니다. 이름에서 알 수 있듯이 컴팩트한 직렬화 파일은 데이터와 프로세스의 형태가 컴팩트합니다. 간결한 직렬화의 기본 개념은 모든 '알려진 유형'(알려진 유형은 프레임워크에 등록된 유형임)이 프레임워크에 의해 고유한 2바이트 유형 핸들을 할당받아 디시리얼라이저가 '알려진 유형'을 고유하게 식별할 수 있도록 한다는 것입니다. .
예를 들어 프레임워크가 System.Int0에 핸들 32을 할당한다고 가정합니다. 그런 다음 직렬 변환기는 2바이트 핸들과 4바이트 개체 값을 스트림에 씁니다. Deserializer는 핸들을 읽고 개체 유형을 파악한 다음 해당 값으로 개체를 만들고 채웁니다. 반면 네이티브 직렬화는 객체 데이터로 완전한 유형 정보를 작성합니다. NCache 다음과 같은 방식으로 자연 살균의 이러한 문제를 정교하게 극복합니다.
압축 직렬화를 사용하려면 압축 직렬화 가능 유형에서 기본 공용 생성자(매개변수 없음)를 정의하고 해당 유형을 등록해야 합니다. NCache 매니저. NCache 이제 사용자 정의 일반 유형을 지원합니다. 임의 개수의 인수가 있는 모든 제네릭 형식은 압축 직렬화를 통해 직렬화할 수 있습니다. 클라이언트가 UI를 통해 일반 유형 및 해당 매개변수를 추가하지 않으려는 경우 IGenericTypes 클래스를 통해 추가할 수 있습니다.
Compact Serializable 유형을 사용하려면 NCache 캐시 구성 NCache Manager를 선택한 다음 소형 직렬화 가능 유형을 다음으로 등록하십시오. NCache.
를 통해 유형을 하나씩 등록할 수 있습니다. '유형 추가' 단추. 구성된 캐시에 유형을 등록하려면 다음 단계를 수행하십시오.
이것은 "Generic Type Handler"를 통해 일반 압축 유형을 등록하는 다른 방법입니다. Generic Type Handler를 사용하면 인터페이스를 구현하여 한 번에 모든 Generic 유형을 추가할 수 있습니다. 이렇게 하면 시간과 노력이 절약됩니다. 이에 대한 샘플 코드는 다음과 같습니다.
public class CustomGenericType <T,K,V> { }
public class SetGenerics: IGenericTypeProvider
{
Type[] types = new Type[6];
#region IGenericTypeProvider Members
Type[] IGenericTypeProvider.GetGenericTypes()
{
types[0]=typeof(Dictionary<string, Customer>);
types[1]=typeof(List<int>);
types[2]=typeof(CustomGenericType<Employee, Product, Customer>);
types[3]=typeof(CustomGenericType<Employee, Product, int>);
types[4]=typeof(CustomGenericType<Employee, string, byte>);
types[5]=typeof(CustomGenericType<string, Customer, bool>);
return types;
}
#endregion
}
유형을 등록하려면 다음 단계를 따르십시오.