Уважаемые все:
У меня есть несколько вопросов при использовании DataContractSerializer.
1. Повышает ли производительность несколько потоков для одновременной записи разных файлов?
Я проверил и пришел к выводу, что производительность снижается ...... Но иногда в качестве вопроса 2 принимается исключение.
2. Я создаю два потока, чтобы сериализовать разные объекты в разные файлы.Иногда я получаю исключение, как показано ниже:
"Необработанное исключение типа 'System.InvalidOperationException'
Дополнительная информация: маркер StartElement в состоянии EndRootElement приведет к неверному XML-документу.
Убедитесь, что параметр ConformanceLevelустановлен на ConformanceLevel.
Fragment или ConformanceLevel.Auto, если вы хотите записать фрагмент XML. "
Я гуглил для обработки этого исключения, но не могу понять, что является основной причиной ....
И если исключение произошло.Я встретил проблему как вопрос 3.
3. Если XML не является допустимым файлом (имеет только частичное содержимое, но внезапно заканчивается в файле), процесс DeSerialize может вызвать исключение ... v Это означает, что всеинформация потеряна из-за неверного XML.Есть ли способ восстановить этот файл XML.Я боюсь потерять всю информацию в результате произошедшего исключения.
Спасибо.
Уважаемые все: Спасибо за ответ.
Для 3, иногда исключениесделать файл пустымУ меня нет возможности исправить файл.
Очень опасно, если для меня произошло исключение.
Для 2. Я вставляю фрагмент кода как ссылку http://nopaste.csie.org/c4711#form
Я использую другой файл для сериализации и сериализации другой памяти.
Я обнаружил, что если произошло исключение, файл будет пустым, даже исключение не произошло, файлы также не завершены.Десериализация вызовет исключение ....
Я понятия не имею, почему это происходит не всегда, но очень часто.
Спасибо.