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

时间:2009-05-26 19:51:35

标签: c# asp.net serialization profile

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

任何帮助都会很棒。

谢谢, 克里斯

1 个答案:

答案 0 :(得分:5)

我发现了这个:

SettingsSerializeAsAttribute

  

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

相关问题