Serialização no Cache na Função do Azure

Importante

A Microsoft recomenda que todos os novos desenvolvimentos usem o Cache Redis do Azure. Para obter documentação e diretrizes atuais sobre como escolher uma oferta do Cache do Azure, confira qual oferta do Cache do Azure é certa para mim?

Microsoft Azure Cache dá suporte a três modos diferentes de serialização. Cada item armazenado no cache deve ser primeiramente serializado em um fluxo persistente. Cada item recuperado do cache deve ser desserializado de volta para o seu formato de objeto. Este tópico descreve as opções de serialização disponíveis em cache.

Tipos de serialização

A tabela a seguir descreve os três tipos de serialização.

Definição de configuração Descrição

NetDataContractSerializer

Serializa objetos com a classe NetDataContractSerializer . Esse é o padrão.

Binaryformatter

Serializa objetos com a classe BinaryFormatter .

CustomSerializer

Serializa objetos usando uma classe de serialização personalizada fornecida pelo aplicativo.

Se nenhuma opção de serialização for especificada, o cache usará o NetDataContractSerializer. Observe que todas as classes armazenadas no cache devem ser marcadas como Serializáveis.

No arquivo de configuração, você pode especificar o elemento serializationProperties como um filho do elemento dataCacheClient . O exemplo a seguir demonstra uma seção dataCacheClients com dois clientes de cache nomeados. O cliente de cache padrão usa a serialização padrão e o segundo cliente de cache especifica a serialização binária.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="WebRole1" />
  </dataCacheClient>
  <dataCacheClient name="binaryConfig">
    <serializationProperties serializer="BinaryFormatter" />
    <autoDiscover isEnabled="true" identifier="WebRole1" />
  </dataCacheClient>
</dataCacheClients>

O exemplo a seguir mostra como você acessaria cada uma dessas configurações de cliente de cache no código.

// "default" cache client configuration, "default" cache:
DataCache cacheTest1 = new DataCache();
cacheTest1.Put("test", "test");

// "binaryConfig" cache client configuration, "default" cache:
DataCache cacheTest2 = new DataCache("default", "binaryConfig");
cacheTest2.Put("test", "test");

A serialização personalizada requer codificação adicional. Para obter mais informações, consulte Como usar um serializador personalizado com o Cache In-Role do Azure.

Observação

O equivalente programático do elemento serializationProperties é a classe DataCacheSerializationProperties . As propriedades dessa classe correspondem aos mesmos três tipos de serialização. Essa enumeração é atribuída à propriedade DataCacheFactoryConfiguration.SerializationProperties .

Importante

Os provedores de ASP.NET para cache não dão suporte a tipos de serialização binários ou personalizados.

Consulte Também

Conceitos

Recursos de cache na função no cache do Azure