Exportar (0) Imprimir
Expandir Tudo
Este tópico ainda não foi avaliado como - Avalie este tópico

Como: usar um serializador personalizado com Windows Azure Cache

Atualizado: fevereiro de 2014

O Cache do Windows Azure serializa objetos antes de colocá-los no cache e desserializa os objetos recuperados do cache. Internamente, a serialização é controlada pela classe NetDataContractSerializer. Esse tópico explica como criar e usar uma classe de serialização personalizada para uso com os aplicativos do Windows Azure que usam o Cache.

TipDica
Potencialmente, você pode obter benefícios de desempenho ao otimizar a serialização de seus tipos conhecidos.

Para criar uma classe de serialização personalizada

  1. Em primeiro lugar, prepare o ambiente de desenvolvimento para usar o Cache.

  2. Crie uma classe que derive de IDataCacheObjectSerializer.

  3. Implemente os dois métodos nessa interface: Serialize e Deserialize.

class MySerializer : IDataCacheObjectSerializer
{
    public object Deserialize(System.IO.Stream stream)
    {
            object returnObject = null;

            // Deserialize the System.IO.Stream 'stream' from
            // the cache and return the object.

            return returnObject;
    }

    public void Serialize(System.IO.Stream stream, object value)
    {
        // Serialize the object 'value' into the System.IO.Stream 'stream'
        // which will then be stored in the cache.
    }
}

Para usar o arquivo de configuração para especificar o serializador personalizado

  1. Adicione o código do serializador personalizado ao seu projeto, ou adicione uma referência a um conjunto que implementa o serializador personalizado.

  2. No arquivo de configuração do aplicativo, adicione um elemento serializationProperties na seção dataCacheClient.

  3. No elemento serializationProperties, atribua o atributo serializer a "SerializadorPersonalizado". Atribua o atributo customSerializerType à classe que implementa o serializador.

O exemplo a seguir demonstra como usar o arquivo de configuração do aplicativo para especificar um serializador personalizado nomeado MyNamespace.MySerializer.

<dataCacheClient>
    <serializationProperties serializer="CustomSerializer" 
       customSerializerType="MyNamespace.MySerializer, MyAssembly" />
    <!-- Other dataCacheClient Elements, such as hosts -->
</dataCacheClient>

Para usar o código para especificar o serializador personalizado

  1. Adicione o código do serializador personalizado ao seu projeto, ou adicione uma referência a um conjunto que implementa o serializador personalizado.

  2. Criar um objeto DataCacheSerializationProperties, usando o construtor para especificar a opçãoDataCacheObjectSerializerType.CustomSerializer e uma nova instância da sua classe de serializador.

  3. Atribua o objeto à propriedade DataCacheFactoryConfiguration.SerializationProperties, e use o objeto DataCacheFactoryConfiguration para configurar um novo DataCacheFactory.

O exemplo a seguir demonstra como usar o código para especificar um serializador personalizado nomeadoMyNamespace.MySerializer.

DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration();

configuration.SerializationProperties = 
   new DataCacheSerializationProperties(DataCacheObjectSerializerType.CustomSerializer, 
   new MyNamespace.MySerializer());

// Assign other DataCacheFactoryConfiguration properties...

// Then create a DataCacheFactory with this configuration
DataCacheFactory factory = new DataCacheFactory(configuration);

Recomendações

Se um serializador personalizado for usado com um cache, todos os clientes devem usar a mesma versão do serializador personalizado ao acessar objetos compartilhados naquele cache.

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.