ASP.NET自定义配置文件的serializeAs属性

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; }
    }

任何帮助都将是极好的。
谢谢, Chris
1个回答

5

我找到了这个:

SettingsSerializeAsAttribute

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


1
完美,谢谢Daniel!我添加了一个System.Configuration引用,并在声明中添加了[SettingsSerializeAsAttribute(SettingsSerializeAs.Binary)]。再次感谢! - cmcginty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接