如何序列化System.Configuration.SettingsProperty

时间:2008-10-04 18:44:56

标签: wcf serialization profile-provider

我需要通过WCF序列化System.Configuration.SettingsProperty和System.Configuration.SettingsPropertyValue类对象。

2 个答案:

答案 0 :(得分:3)

使用自己的课程是合理的选择。如果需要,您还可以使用VS设计器设置。

VS设计器将属性设置保存在ApplicationSettingsBase类中。默认情况下,这些属性被序列化/反序列化为每用户XML文件。因为WCF服务没有用户上下文,所以这不起作用。您可以使用自定义SettingsProvider覆盖此行为,这样可以很容易地将属性保留在您想要的位置。只需将SettingsProvider属性添加到VS生成的Settings类:

[SettingsProvider(typeof(CustomSettingsProvider))]
internal sealed partial class Settings { 
   ...
}

这方面的一个很好的例子是RegistrySettingsProvider

编辑:我对您的问题的初步阅读认为您在询问如何在WCF服务中保留设置。我现在看到你想通过WCF传递设置。 SettingsProvider类也可用于此目的。

答案 1 :(得分:0)

我猜你问,因为你无法返回SettingProperty列表。 我自己创建一个可序列化的类并在那里加载属性。