Sérialisation pour le service de cache géré Azure
Mis à jour: août 2015
Important
Microsoft recommande que tous les nouveaux développements utilisent le Cache Redis Azure. Pour une documentation et des conseils actualisés sur le choix d'une offre de Cache Azure, voir Quelle est l'offre Azure Cache qui me convient ?
cache Microsoft Azure prend en charge trois modes de sérialisation. Chaque élément stocké dans le cache doit d'abord être sérialisé dans un flux persistant. Chaque élément récupéré auprès du cache doit être à nouveau désérialisé dans son format d'objet. Cette rubrique décrit les options de sérialisation disponibles dans mise en cache.
Types de sérialisations
Le tableau suivant décrit les trois types de sérialisations.
Paramètre de configuration | Description |
---|---|
NetDataContractSerializer |
Sérialise les objets avec la classe NetDataContractSerializer. Il s'agit du paramètre par défaut. |
BinaryFormatter |
Sérialise les objets avec la classe BinaryFormatter. |
CustomSerializer |
Sérialise les objets à l'aide d'une classe de sérialisation personnalisée fournie par l'application. |
Si aucune option de sérialisation n'est spécifiée, mise en cache utilise l'option NetDataContractSerializer. Les classes stockées dans le cache doivent être marquées comme Serializable.
Dans le fichier de configuration, vous pouvez spécifier l'élément serializationProperties comme enfant de l'élément dataCacheClient. L'exemple suivant montre une section dataCacheClients avec deux clients de cache nommés. Le client de cache par défaut utilise la sérialisation par défaut, tandis que le deuxième cache client spécifie la sérialisation binaire.
<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>
L'exemple suivant illustre l'accès à chacune de ces configurations de client de cache dans le code.
// "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 sérialisation personnalisée nécessite un codage supplémentaire. Pour plus d'informations, voir Utilisation d'un sérialiseur personnalisé avec Azure In-Role Cache.
Notes
L'équivalent de l'élément serializationProperties dans la programmation est la classe DataCacheSerializationProperties. Les propriétés dans cette classe correspondent aux trois mêmes types de sérialisations. Cette énumération est affectée à la propriété DataCacheFactoryConfiguration.SerializationProperties.
Important
Les fournisseurs ASP.NET pour mise en cache ne prennent pas en charge les types de sérialisation binaires ou personnalisés.