Condividi tramite


Serializzazione per il Servizio cache gestito di Azure

Importante

Microsoft consiglia tutti i nuovi sviluppi di usare Cache Redis di Azure. Per la documentazione e le indicazioni correnti sulla scelta di un'offerta di Cache di Azure, vedere Quale offerta di Cache di Azure è adatta per l'utente?

Microsoft Azure cache supporta tre diverse modalità di serializzazione. Ogni elemento memorizzato nella cache deve prima essere serializzato in un flusso permanente. Ogni elemento recuperato dalla cache deve essere deserializzato nuovamente nel formato di oggetto corrispondente. In questo argomento vengono descritte le opzioni di serializzazione disponibili nella memorizzazione nella cache.

Tipi di serializzazione

La seguente tabella illustra i tre tipi di serializzazione.

Impostazione di configurazione Descrizione

NetDataContractSerializer

Serializza gli oggetti con la classe NetDataContractSerializer . Questo è il valore predefinito.

Binaryformatter

Serializza gli oggetti con la classe BinaryFormatter .

CustomSerializer

Serializza gli oggetti usando una classe di serializzazione personalizzata fornita dall'applicazione.

Se non viene specificata alcuna opzione di serializzazione, la memorizzazione nella cache usa NetDataContractSerializer. Si noti che tutte le classi archiviate nella cache devono essere contrassegnate come Serializable.

Nel file di configurazione è possibile specificare l'elemento serializationProperties come elemento figlio dell'elemento dataCacheClient . Nell'esempio seguente viene illustrata una sezione dataCacheClients con due client cache denominati. Il client della cache predefinito usa la serializzazione predefinita, mentre il secondo client della cache specifica la serializzazione binaria.

<dataCacheClients>
  <dataCacheClient name="default">
    <!-- Other configuration settings for cache omitted -->
  </dataCacheClient>
  <dataCacheClient name="binaryConfig">
    <serializationProperties serializer="BinaryFormatter" />
    <!-- Other configuration settings for cache omitted -->
  </dataCacheClient>
</dataCacheClients>

Il seguente esempio illustra come accedere a ognuna di queste configurazioni di client della cache nel codice.

// "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");

La serializzazione personalizzata richiede una codifica aggiuntiva. Per altre informazioni, vedere Procedura: Usare un serializzatore personalizzato con Cache In-Role di Azure.

Nota

L'equivalente programmatico dell'elemento serializationProperties è la classe DataCacheSerializationProperties . Le proprietà in questa classe corrispondono agli stessi tre tipi di serializzazione. Questa enumerazione viene assegnata alla proprietà DataCacheFactoryConfiguration.SerializationProperties .

Importante

I provider di ASP.NET per la memorizzazione nella cache non supportano tipi di serializzazione binari o personalizzati.

Vedere anche

Risorse aggiuntive

Funzionalità del Servizio cache gestito di Azure