Стратегии передачи данных в Windows Mobile - PullRequest
1 голос
/ 27 декабря 2008

Я занимаюсь разработкой приложения на C # для Windows Mobile, и, как и большинство моих WM-приложений, я всегда теряюсь, когда выбираю стратегию сериализации. В настольном мире меня это не слишком беспокоит, потому что я уже разработал довольно надежный пользовательский сериализатор xml - однако в мире WM я не хочу его использовать из-за снижения производительности отражения.

Поэтому я разрабатываю все на основе интерфейсов объектов доступа к данным (DAO), поэтому я могу легко поменять различные реализации для сериализации в xml, registry, sqlce и т. Д. При разработке вначале я обычно реализую непостоянный непостоянный DAO памяти (с использованием словаря <>), за которым следует DAO XmlSerializer, когда я хочу сохранить данные, а затем, когда все будет завершено, перейти к полномасштабному DAO sqlce.

Однако в моем последнем приложении я не могу использовать DAO XmlSerializer из-за того, как плохо он (не) обрабатывает свойства, являющиеся интерфейсами. То есть у меня есть объект Foo, который содержит свойство List Bars, XmlSerializer не может его сериализовать (хотя я легко смог разработать свой собственный настраиваемый сериализатор xml, который мог бы - см. Рисунок)

Все это, чтобы задать вопрос: Какие стратегии DAO вы нашли, чтобы помочь вам разрабатывать приложения для WM? Планируете ли вы заранее несколько разных DAO на разных уровнях зрелости приложений? Вы начинаете на полномасштабной DAO? Что бы вы порекомендовали для быстрой и простой постоянной сериализации DAO, когда XmlSerializer не может быть использован?

1 Ответ

1 голос
/ 27 декабря 2008

Ну, это не обязательно применимо в вашем случае (поскольку оно, как и XmlSerializer, требует конкретных типов), но protobuf-net - это двоичный механизм сериализации, который работает на всех вариантах .NET в том числе CF 2.0 и CF 3.5; это позволит вам хранить данные и обмениваться ими с вашим полнофункциональным сервером 3.5 (или, действительно, с java, perl, php, и т. д. ).

Это, конечно, быстро и легко, поэтому определенно стоит заглянуть, если вы хотите переносить данные в WM.

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