Как сериализовать SettingsContext и SettingsPropertyCollection
Мне нужно сериализовать System.Configuration.SettingsContext
а также System.Configuration.SettingsPropertyCollection
типы, как я реализую свой собственный поставщик профиля. Любые предложения о том, как сделать это самым простым способом.
1 ответ
У вас есть два варианта:
Создание DTO с атрибутом DataContract и "перевод" из объектов контракта, не связанных с данными, в DTO и обратно при вызове службы. Это позволит использовать сериализатор Data Contract и ваш сервис в обычном режиме. Это может быть утомительно, если вы используете много полей из этих объектов (я постараюсь ограничить используемые поля, если это возможно, ТОЛЬКО теми, которые, как вы знаете, вам понадобятся)
Используйте XML-сериализатор для вызовов, которые отправляют / возвращают их. Сериализатор XML немного медленнее, чем сериализатор Data Contract, но обеспечивает больший контроль над тем, как сериализуются данные. Ваши клиенты не увидят (или не заботятся) о разнице. В Интернете есть много примеров того, как это сделать (например: http://msdn.microsoft.com/en-us/library/ms733901.aspx), поэтому я не буду повторять их здесь.:) Это не так уж сложно.
Удачи