【问题标题】:ASP.NET Custom Profile serializeAs AttributeASP.NET 自定义配置文件 serializeAs 属性
【发布时间】:2010-10-29 01:59:42
【问题描述】:

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

任何帮助都会很棒。

谢谢, 克里斯

【问题讨论】:

    标签: c# asp.net serialization profile


    【解决方案1】:

    我发现了这个:

    SettingsSerializeAsAttribute

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

    【讨论】:

    • 完美,谢谢丹尼尔!我添加了一个 System.Configuration 引用并将 [SettingsSerializeAsAttribute(SettingsSerializeAs.Binary)] 添加到声明中。再次感谢!
    猜你喜欢
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多