2011-08-29 2 views
1

InProc 세션에서 SQL 서버 세션으로 전환 중입니다. 현재 내 세션 객체는 다음과 같습니다.세션 : InProc에서 SQL 세션으로 이동

public class UserSession{ 

    public string TheStrings {get;set;} 
    public int TheInts {get;set;} 

    public List<MyObjectModel> ListOfObjects {get;set;} 

} 

기본적으로 문자열, 정수 및 여러 객체 목록이 있습니다. 내가 할 일은이 객체를 세션에 저장 한 다음 세션에 액세스해야 할 때 UserSession.TheStrings를 쓸 수 있습니다.

이제 SQL 세션으로 변환하면 serialization이 시작됩니다. [serializable] 특성을 전체 클래스에만 추가해야합니까, 아니면 모든 MyObjectModels의 클래스 정의에도 추가해야합니까?

감사합니다.

답변

1

개체의 모든 것이 단순한 형식 인 한 기본적으로 serialize 할 것이라고 확신합니다.

SerializableAttribute Class

이 유형의 인스턴스가 직렬화 될 수 있다는 것을 나타 내기 위해 유형으로 SerializableAttribute 특성을 적용합니다. 공용 언어 런타임 이 serializationException을 던졌습니다. 개체의 그래프에 유형이 serialize 된 경우 SerializableAttribute 특성이 적용되지 않습니다. 이 적용됩니다.

클래스가 직렬화 프로세스를 제어하기 위해 ISerializable 인터페이스를 구현하는 경우에도 SerializableAttribute 특성을 적용하십시오. 유형 직렬화 과정을 무시하기를 ISerializable 인터페이스를 구현하지 않는 한 SerializableAttribute로 표시되어 유형에

모든 공공 및 민간 분야는 기본적으로 직렬화된다. 기본 직렬화 프로세스에서는 NonSerializedAttribute 특성으로 표시된 인 필드를 제외합니다. 직렬화 가능 유형의 필드에 특정 환경에 특정한 포인터, 핸들 또는 기타 데이터 구조가 포함되어 있고 을 다른 환경에서 의미있게 다시 구성 할 수없는 경우 NonSerializedAttribute 특성을 적용하려고 할 수 있습니다. 그 분야에.

관련 문제