Чтение ответа веб-службы ASMX обратно на объекты с диска - PullRequest
0 голосов
/ 22 марта 2010

У нас есть веб-сервис ASP.Net, который получает XML-файл на КПК и сопоставляет его с объектами (стандартный веб-метод .Net).Есть ли простой способ сохранить этот XML-ответ на диск, прочитав его обратно в ту же структуру объекта, в которой он был раньше?

Приложение PDA автоматически делает это после получения данных от веб-службы, ноНе удалось найти метод, который позволил бы мне предоставить поток или тому подобное, чтобы повторить процесс в автономном режиме.

1 Ответ

0 голосов
/ 22 марта 2010

Сериализация позволяет вам сделать это - это фактически, как объекты отправляются через веб-сервис.

Если вам повезет, следующий код будет сериализовать объект (называемый «объект» типа «object_type»".)

XmlSerializer serialiser = new XmlSerializer(typeof(object_type));
FileStream stream = new FileStream(@"C:\Temp\serialised_file.xml", FileMode.Create);
serialiser.Serialize(object, stream);

И для десериализации:

XmlSerializer serialiser = new XmlSerializer(typeof(object_type));
FileStream stream = new FileStream(@"C:\Temp\serialised_file.xml", FileMode.Open);
object_type object = serialiser.Deserialize(stream) as object_type;

Я говорю" если вам повезет ", потому что 90% времени это работает для меня.Если у вас есть свойства внутри класса, которые являются абстрактными классами, вам может потребоваться объявить все типы классов, расширяющие этот абстрактный класс, в конструкторе XmlSerializer.Также будьте осторожны, в классе нет «циклических зависимостей».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...