4

我正在尝试在 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; }
    }

任何帮助都会很棒。

谢谢,克里斯

4

1 回答 1

5

我发现了这个:

SettingsSerializeAsAttribute

使用 SettingsSerializeAsAttribute,您可以指定应该为给定的应用程序设置类或属性使用哪种序列化机制。此属性被视为对设置提供程序的请求。如果提供者或单个属性类型不支持指定的序列化方案,它可能会被忽略或导致错误。如果这个属性不存在,提供者通常会提供一个默认的序列化机制,最常见的是纯文本。

于 2009-05-26T19:57:57.840 回答