Serialización en caché en rol de Azure

Actualizado: agosto de 2015

ImportantImportante
Microsoft recomienda que todos los desarrollos nuevos utilicen Caché en Redis de Azure. Para obtener la documentación y orientación actuales sobre cómo elegir una oferta de Caché de Azure, consulte ¿Qué oferta de Caché de Azure debo utilizar?

Caché de Microsoft Azure admite tres modos diferentes de serialización. Cada elemento que se almacena en la caché debe primero serializarse en una secuencia persistente. Cada elemento que se recupera de la caché debe deserializarse de nuevo a su formato de objeto. En este tema se describen las opciones de serialización disponibles en almacenar en memoria caché.

En la tabla siguiente se describen los tres tipos de serialización.

 

Opción de configuración Descripción

NetDataContractSerializer

Serializa objetos con la clase NetDataContractSerializer. Es el valor predeterminado.

BinaryFormatter

Serializa objetos con la clase BinaryFormatter.

CustomSerializer

Serializa objetos con una clase de serialización personalizada proporcionada por la aplicación.

Si no se especifica una opción de serialización, almacenar en memoria caché usa NetDataContractSerializer. Tenga en cuenta que las clases que se almacenan en la caché deben marcarse como Serializable.

En el archivo de configuración, puede especificar el elemento serializationProperties como elemento secundario del elemento dataCacheClient. En el ejemplo siguiente se muestra una sección dataCacheClients con dos clientes de caché con nombre. El cliente de caché predeterminado usa la serialización predeterminada y el segundo cliente de caché especifica la serialización binaria.

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

El ejemplo siguiente muestra cómo accedería cada una de estas configuraciones de cliente de caché en el 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");

La serialización personalizada requiere codificación adicional. Para obtener más información, vea Procedimiento: uso de un serializador personalizado con Caché en rol de Azure.

noteNota
El equivalente programático del elemento serializationProperties es la clase DataCacheSerializationProperties. Las propiedades de esta clase corresponden a los tres mismos tipos de serialización. Esta enumeración se asigna a la propiedad DataCacheFactoryConfiguration.SerializationProperties.

ImportantImportante
Los proveedores ASP.NET para almacenar en memoria caché no admiten los tipos de serialización binaria ni personalizada.

Vea también

Mostrar: