Как сериализовать SettingsContext и SettingsPropertyCollection - PullRequest
0 голосов
/ 04 октября 2008

Мне нужно сериализовать типы System.Configuration.SettingsContext и System.Configuration.SettingsPropertyCollection, поскольку я реализую свой собственный поставщик профилей. Любые предложения о том, как сделать это самым простым способом.

1 Ответ

1 голос
/ 05 октября 2008

У вас есть два варианта:

Создание DTO с атрибутом DataContract и «перевод» из объектов контракта, не связанных с данными, в DTO и обратно при вызове службы. Это позволит использовать сериализатор Data Contract и ваш сервис в обычном режиме. Это может быть утомительно, если вы используете много полей из этих объектов (я постараюсь ограничить используемые поля, если это возможно, ТОЛЬКО теми, которые, как вы знаете, вам понадобятся)

Использовать XML-сериализатор для вызовов, которые их отправляют / возвращают. Сериализатор XML немного медленнее, чем сериализатор Data Contract, но обеспечивает больший контроль над тем, как сериализуются данные. Ваши клиенты не увидят (или не заботятся) о разнице. В Интернете есть много примеров того, как это сделать (например: http://msdn.microsoft.com/en-us/library/ms733901.aspx),, поэтому я не буду их здесь повторять. :) Это не так уж сложно.

Удачи

...