1

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

4

2 回答 2

3

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

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

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

RegistrySettingsProvider就是一个很好的例子。

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

于 2008-10-04T20:09:11.913 回答
0

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

于 2008-10-04T18:59:57.247 回答