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

cmc*_*nty 4 c# asp.net profile serialization

我试图在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>
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何在C#中为自定义实现添加serializeAs ="Binary"属性:

[SettingsAllowAnonymous(false)]

    public List<SavedReport> SavedReports
    {
        get { return base["SavedReports"] as List<SavedReport>; }
        set { base["SavedReport"] = value; }
    }
Run Code Online (Sandbox Code Playgroud)

[SettingsAllowAnonymous(false)]

<code>
<profile>
 <providers>
  <add name="SavedReports" serializeAs="Binary" type="System.Collections.Generic.List`1[MyNamespace.SavedReports]"/>
<code>
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.

谢谢,克里斯

Dan*_*fer 5

我发现了这个:

SettingsSerializeAsAttribute

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