2009-05-26 54 views
3

我想在繼承System.Web.Profile.ProfileBase的C#中實現一個自定義配置文件類。我有幾個System.Collections.Generic.List類型的屬性需要序列化爲二進制而不是默認的XML。但是,我不確定如何在Profile類中標記該設置。ASP.NET自定義配置文件serializeAs屬性

例如,我有一個名爲「SavedReports」屬性的List類型。如果我使用的web.config的辦法,我只想寫:

<code> 
<profile> 
<providers> 
    <add name="SavedReports" serializeAs="Binary" type="System.Collections.Generic.List`1[MyNamespace.SavedReports]"/> 
<code> 

不過,我不確定我會如何添加serializeAs =「二進制」在C#中屬性的自定義實現:

[SettingsAllowAnonymous(false)]

public List<SavedReport> SavedReports 
    { 
     get { return base["SavedReports"] as List<SavedReport>; } 
     set { base["SavedReport"] = value; } 
    } 

任何幫助將是偉大的。

謝謝, 克里斯

回答

4

我發現這一點:

SettingsSerializeAsAttribute

隨着SettingsSerializeAsAttribute, 可以指定 機制應該用於給定 應用程序設置其系列化類或 財產。該屬性被認爲是 對設置提供者的請求。如果 提供程序或個人 屬性類型不支持 指定的序列化方案,它可能會被忽略或導致錯誤。如果 此屬性不存在,則提供商通常會提供默認序列化機制 ,大多數 通常爲純文本。

+1

完美,謝謝丹尼爾! 我添加了一個System.Configuration引用並將[SettingsSerializeAsAttribute(SettingsSerializeAs.Binary)]添加到聲明中。 再次感謝! – cmcginty 2009-05-26 20:07:26

相關問題