Serialisierung in Azure In-Role Cache
Wichtig
Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Aktuelle Dokumentation und Anleitung zum Auswählen eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich geeignet?
Microsoft Azure Cache unterstützt drei verschiedene Modi der Serialisierung. Jedes im Cache gespeicherte Element muss zuerst in einen persistenten Datenstrom serialisiert werden. Jedes Element, das aus dem Cache abgerufen wird, muss zurück in sein Objektformat deserialisiert werden. In diesem Thema werden die Serialisierungsoptionen beschrieben, die im Zwischenspeichern verfügbar sind.
Serialisierungstypen
In der folgenden Tabelle werden die drei Serialisierungstypen beschrieben.
Konfigurationseinstellung | BESCHREIBUNG |
---|---|
NetDataContractSerializer |
Serialisiert Objekte mit der NetDataContractSerializer-Klasse . Dies ist die Standardoption. |
Binaryformatter |
Serialisiert Objekte mit der BinaryFormatter-Klasse . |
CustomSerializer |
Serialisiert Objekte mithilfe einer benutzerdefinierten Serialisierungsklasse, die von der Anwendung bereitgestellt wird. |
Wenn keine Serialisierungsoption angegeben ist, verwendet das Zwischenspeichern den NetDataContractSerializer. Beachten Sie, dass alle Klassen, die im Cache gespeichert sind, als Serialisierbar gekennzeichnet werden müssen.
In der Konfigurationsdatei können Sie das SerializationProperties-Element als untergeordnetes Element des dataCacheClient-Elements angeben. Im folgenden Beispiel wird ein DataCacheClients-Abschnitt mit zwei benannten Cacheclients veranschaulicht. Der Standardcacheclient verwendet Standardserialisierung, und der zweite Cacheclient gibt binäre Serialisierung an.
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="WebRole1" />
</dataCacheClient>
<dataCacheClient name="binaryConfig">
<serializationProperties serializer="BinaryFormatter" />
<autoDiscover isEnabled="true" identifier="WebRole1" />
</dataCacheClient>
</dataCacheClients>
Das folgende Beispiel zeigt, wie Sie mithilfe von Code auf diese Cacheclientkonfigurationen zugreifen können.
// "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");
Für benutzerdefinierte Serialisierung ist keine zusätzliche Codierung erforderlich. Weitere Informationen finden Sie unter How to: Use a Custom Serializer with Azure In-Role Cache.
Hinweis
Das programmgesteuerte Äquivalent des SerializationProperties-Elements ist die DataCacheSerializationProperties-Klasse . Die Eigenschaften für diese Klasse entsprechen den gleichen drei Serialisierungstypen. Diese Enumeration wird der DataCacheFactoryConfiguration.SerializationProperties-Eigenschaft zugewiesen.
Wichtig
Die ASP.NET Anbieter zum Zwischenspeichern unterstützen keine binären oder benutzerdefinierten Serialisierungstypen.