我需要序列化系统。配置设置属性和系统。配置通过WCF设置PropertyValue类对象。
使用自己的类是合理的选择。如果需要,也可以使用VS设计器设置。
VS设计器将属性设置保存在ApplicationSettingsBase类中。默认情况下,这些属性被序列化/反序列化为每个用户的XML文件。因为WCF服务没有用户上下文,所以这将不起作用。您可以通过使用自定义SettingsProvider来覆盖此行为,这使得您可以很容易地将属性保留在您想要的位置。只需将SettingsProvider
属性添加到VS生成的Settings
类:
[SettingsProvider(typeof(CustomSettingsProvider))]
internal sealed partial class Settings {
...
}
RegistrySettingsProvider就是一个很好的例子。
编辑:我最初读到你的问题时,以为你在问如何在WCF服务中持久化设置。我现在看到你想通过WCF传递设置。SettingsProvider类也可以用于此目的。
我猜您这么问是因为您无法返回SettingProperty的列表。我会自己创建一个可序列化的类,并在那里加载属性。