Pergunta

Eu estou tentando implementar uma classe de perfil personalizado em C # que herda System.Web.Profile.ProfileBase. Eu tenho algumas propriedades do tipo System.Collections.Generic.List que precisam ser serializado como binário em vez do XML padrão. No entanto, não tenho certeza de como marcar essa configuração na classe perfil.

Por exemplo, eu tenho uma propriedade denominada "SavedReports", que é do tipo List. Se eu fosse para usar a abordagem web.config, eu poderia simplesmente escrever:

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

No entanto, tenho a certeza como eu iria adicionar as SerializeAs = atributo "Binário" em C # para a implementação personalizada:

[SettingsAllowAnonymous(false)]

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

Qualquer ajuda seria ótimo.

Obrigado, Chris

Foi útil?

Solução

Eu encontrei o seguinte:

SettingsSerializeAsAttribute

Com a SettingsSerializeAsAttribute, você pode especificar quais serialização mecanismo deve ser usada para uma determinada classe de aplicativo configurações ou propriedade. Este atributo é considerado um pedido ao provedor de configurações. isto pode ser ignorada ou causar um erro se o fornecedor ou o indivíduo tipo de propriedade não suporta o esquema de serialização especificado. E se este atributo não está presente, o provedor normalmente irá fornecer um mecanismo de serialização padrão, a maioria comumente texto simples.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top