我需要通过WCF序列化System.Configuration.SettingsProperty和System.Configuration.SettingsPropertyValue类对象。
答案 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列表。 我自己创建一个可序列化的类并在那里加载属性。