Я работаю над переносом старого проекта wcf на .net core 2.0.В некоторых местах код использует класс SoapFormatter для сериализации и десериализации данных в формате Soap. Форматирование Soap больше не поддерживается в .net core 2.0, поэтому мне нужно заменить часть кода, чтобы начать использовать XMLSerialization.Уже есть некоторые данные, хранящиеся в базе данных, которая сериализуется с помощью SoapFormatter, поэтому я не могу перенести уже сохраненные данные.Можно ли как-нибудь сериализовать и десериализовать уже существующие данные с помощью сериализации Xml, не нарушая ее?
Кусок кода, использующий десериализацию с использованием soapformatter:
var buffer = Convert.FromBase64String(piqBlob);
---------
public UserQuestionAnswers Deserialize(byte[] buffer)
{
using (var stream = new MemoryStream(buffer))
{
var questionsAnswers =
Serializer.Deserialize(stream) as BusinessProcesses.Authentication.UserQuestionAnswers;
if (questionsAnswers == null) return null;
var uQuestionAnswers = new UserQuestionAnswers
{
Domain = questionsAnswers.Domain,
KeyLabel = questionsAnswers.KeyLabel,
Username = questionsAnswers.Username,
UserUid = questionsAnswers.UserUid,
QuestionAnswers = (from item in questionsAnswers.QuestionAnswers
where item != null
select new QuestionAnswer
{
QuestionId = item.QuestionId,
QuestionHash = item.QuestionHash,
AnswerHmac = item.AnswerHMAC,
QuestionText = string.Empty
}).ToArray()
};
return uQuestionAnswers;
}
}
Пожалуйста, дайте мне знать, еслиВам нужно больше информации об этом.Я также открыт для любой библиотеки третьей части, если у меня есть хороший рейтинг?