DataContractSerializer를 사용하여 Exception 객체 (파생 예외, 예 : FileNotFoundException 포함) 목록을 직렬화하려면 어떻게합니까?DataContractSerializer 및 List (Of Exception)
해결 방법을 고안하기 위해 목록의 형식을 알지 못하는 serializer에 대해 항상 오류가 발생합니다. 이 작품
Dim XmlSerializer As New DataContractSerializer(_
ExceptionsList.GetType(), ExceptionsList.Select(Function(i) i.GetType))
XmlSerializer.WriteObject(Stream, List)
:
그것은 같은 것을 보았다. 방금 알려진 유형의 목록에 모든 다른 예외 유형을 추가하면 작동합니다. 하지만 deserialization에 나는 붙어있다. 문제는 파일에 미리 저장된 예외의 유형을 모른다는 것입니다.
이 작품 덕분에, 나는 왜 당신이 정규 시리얼 라이저로 이것을 할 수 없는지 궁금합니다. – prof23030
일반 직렬 변환기는 상호 운용 가능한 XML로 직렬화하기 때문에. 가능한 유형을 알려 주어야합니다. 그렇지 않으면 역 직렬화 할 수 없습니다. 'NetDataContractSerializer'는 타입 메타 데이터를 XML에 추가함으로써이 문제를 해결합니다. 이것은 또한 비 .NET 서비스 또는 클라이언트와 통신하는 데 사용할 수없는 이유이기도합니다. –
방금 NetDataContractSerializer가 중간 신뢰로 직렬화 할 수 없다는 것을 알았습니다. (공유 호스팅에서 보안 예외가 발생하면 직렬화하려고 시도합니다.) 다른 방법을 찾아야 할 것입니다. – prof23030