我正在尝试在C#中实现一个继承System.Web.Profile.ProfileBase的自定义配置文件类。我有一些System.Collections.Generic.List类型的属性需要序列化为二进制而不是默认的XML。但是,我不确定如何在Profile类中标记该设置。
例如,我有一个名为“SavedReports”的属性,其类型为List。如果我使用web.config方法,我只想写:
<code>
<profile>
<providers>
<add name="SavedReports" serializeAs="Binary" type="System.Collections.Generic.List`1[MyNamespace.SavedReports]"/>
<code>
但是,我不确定如何在C#中为自定义实现添加serializeAs =“Binary”属性:
[SettingsAllowAnonymous(false)]
public List<SavedReport> SavedReports
{
get { return base["SavedReports"] as List<SavedReport>; }
set { base["SavedReport"] = value; }
}
public List<SavedReport> SavedReports
{
get { return base["SavedReports"] as List<SavedReport>; }
set { base["SavedReport"] = value; }
}
任何帮助都会很棒。
谢谢, 克里斯
答案 0 :(得分:5)
我发现了这个:
使用SettingsSerializeAsAttribute, 您可以指定哪个序列化 机制应该用于给定的 应用程序设置类或 属性。考虑此属性 对设置提供者的请求。它 可能会被忽略或导致错误 提供者或个人 属性类型不支持 指定的序列化方案。如果 这个属性不存在了 提供者通常会提供一个 默认的序列化机制,大多数 通常是纯文本。