0

숨바꼭질들, XML-디시리얼라이저와 XML을 가져 오기 및 DataContractSerializer와

내가 (변경 안, 요구 사항) 내가 일반적으로 DataContractSerializer를 사용하는 큰 배포 프로젝트를 직렬화.

이제 XML-Deserializer를 사용하여 XML 파일 (Siemens TIA Openness)을 가져와야합니다. 지금까지 그것은 잘 작동합니다.

이제 가져온 XML 객체가 백엔드에 있고 DataContractSerializer를 사용하여 프런트 엔드로 전송해야합니다.

내가 그렇게하면 CommunicationException이 발생합니다 (SocketConnection이 중단되었습니다). 그 이유는, [System.Xml.Serialization.XmlTypeAttribut] 등을 내 클래스와 그 멤버에 추가했기 때문입니다.

나는 XMLSerializer-Attribute와 DataContractSerializer-Attribute를 클래스에 추가 할 수 있다고 읽었습니다. 그것은 아무것도 바뀌지 않습니다.

이제 XMLSerializer를 "오버라이드"하고 DataContractSerializer를 대신 사용할 수 있습니다.

누군가가 나를 도울 수 있다면, 어떤 제안이라도 매우 부끄럽지 않을 것입니다.

+0

(XmlReader에서 리더를) 덮어 IXmlSerializable 를 구현해야합니다. 시간 초과가 발생하거나 연결을 통해 잘못된 데이터가 전송 된 경우에만 소켓이 닫힙니다. 연결이 XML 데이터를 필요로하고 데이터가 XML이 아니거나 모든 끝 태그를 받기 전에 연결이 닫히고있는 것으로 의심됩니다. – jdweng

답변

1

클래스 대상 직렬화 및 비 직렬화에 대한 질문입니다. 그런 다음 공공 무효되는 ReadXml (XmlReader를 리더) 공공 무효되는 WriteXml 나는 당신의 의혹을 확인하기 위해 와이어 샤크 또는 피들러 같은 스니퍼를 사용하는 것이