나는 광범위하게 검색하여 내 문제에 대한 해결책을 찾을 수 없었습니다.XML 직렬화 및 파일에 대한 쓰기 처리 방법
프로세스가 점차 메모리를 먹어 치우는 전형적인 상황이 있습니다. 프로세스는 결국 OutofMemory Exception을 던집니다. 이 문제는 과거에는 더 큰 메모리를 가진 특별한 기계를 만드는 것으로 처리되었습니다.
이 프로세스는 약 450,000 개의 레코드가있는 고객 중 한 명만 공격합니다. 우리는 계정 컬렉션을 반복하고 클래스 개체를 작성한 다음 xml serializer로 전달합니다. 이 객체에는 동시에 채워지지 않는 여러 속성과 메서드가 있습니다. 이러한 개체는 각 계정 레코드의 정보를 기반으로 채워집니다.
우리는 XML 직렬화기를 위해 생성자를 호출하는 방법을 확인했으며 XML 어셈블리를 저장할 때마다 새로운 것을 만들지는 않습니다. 따라서 동적 어셈블리 생성으로 인해 메모리 누수가 발생한다고 생각하지 않습니다. 우리는 시리얼 라이저를 호출하는 방법
: 새로운 XmlSerializer가 희미한 k1Serializer (GetType을 (ClassObject))
내 질문은 :
큰 객체를 직렬화 가능한 모든 직렬화 객체 또는 단지의 시리얼 모양을 수행 개체에 의해 채워지는 것들?
이 대형 클래스 객체의 직렬화로 인해 문제가 발생할 수 있습니까?
직렬화 된 객체를 전달할 때 알아 차렸지만 지정된 파일에 자동으로 기록되지 않습니다. 객체를 직렬화 한 다음 작성하는 데 몇 초가 걸립니다. 우리가 너무 많은 레코드를 순식간에 반복하고 있다는 사실은 시리얼 라이저가 파일을 쓰고 메모리를 해제 할 충분한 시간이 없다는 것입니다.
나는 정말 재능이있어 끝내 주면 도움이 될 것입니다. 다른 정보가 필요한지 알려주십시오.
감사
더 많은 실제 코드를 보여줄 수 있으며, serializer를 호출하는 방법과 * *로 serialize하는 것을 보여줄 수 있습니다. – Cheeso