(0) exportieren Drucken
Alle erweitern

Vorgehensweise: Verwenden eines benutzerdefinierten Serialisierers mit Azure Cache

Letzte Aktualisierung: Juli 2010

Microsoft Azure Cache serialisiert Objekte, bevor diese im Cache gespeichert werden. Objekte, die aus dem Cache abgerufen werden, werden deserialisiert. Intern wird die Serialisierung durch die Klasse NetDataContractSerializer ausgeführt. In diesem Thema wird erläutert, wie Sie eine benutzerdefinierte Serialisierungsklasse für die Verwendung in Ihren -Anwendungen erstellen und verwenden können, die Cache verwenden.

TipTipp
Potenziell ergeben sich durch die Optimierung der Serialisierung Ihrer bekannten Typen Leistungsvorteile.

  1. Zuerst bereiten Sie die Entwicklungsumgebung vor, damit Cache verwendet wird.

  2. Erstellen Sie eine Klasse, die von IDataCacheObjectSerializer abgeleitet ist.

  3. Implementieren Sie die beiden Methoden in dieser Schnittstelle: Serialize und Deserialize.

class MySerializer : IDataCacheObjectSerializer
{
    public object Deserialize(System.IO.Stream stream)
    {
            object returnObject = null;

            // Deserialize the System.IO.Stream 'stream' from
            // the cache and return the object.

            return returnObject;
    }

    public void Serialize(System.IO.Stream stream, object value)
    {
        // Serialize the object 'value' into the System.IO.Stream 'stream'
        // which will then be stored in the cache.
    }
}

  1. Fügen Sie Ihrem Projekt den Code für die benutzerdefinierte Serialisierung hinzu, oder fügen Sie einen Verweis auf eine Assembly hinzu, die die benutzerdefinierte Serialisierung implementiert.

  2. Fügen Sie in der Anwendungskonfigurationsdatei im Abschnitt dataCacheClient ein Element serializationProperties hinzu.

  3. Weisen Sie im Element serializationProperties "CustomSerializer" das Attribut serializer zu. Weisen Sie das Attribut customSerializerType der Klasse zu, die die Serialisierung implementiert.

Das folgende Beispiel zeigt, wie die Anwendungskonfigurationsdatei zum Angeben einer benutzerdefinierten Serialisierung namens MyNamespace.MySerializer verwendet wird.

<dataCacheClient>
    <serializationProperties serializer="CustomSerializer" 
       customSerializerType="MyNamespace.MySerializer, MyAssembly" />
    <!-- Other dataCacheClient Elements, such as hosts -->
</dataCacheClient>

  1. Fügen Sie Ihrem Projekt den Code für die benutzerdefinierte Serialisierung hinzu, oder fügen Sie einen Verweis auf eine Assembly hinzu, die die benutzerdefinierte Serialisierung implementiert.

  2. Erstellen Sie ein DataCacheSerializationProperties-Objekt, und verwenden Sie dabei den Konstruktor, um die Option DataCacheObjectSerializerType.CustomSerializer und eine neue Instanz Ihrer Serialisierungsklasse anzugeben.

  3. Weisen Sie dieses Objekt der Eigenschaft DataCacheFactoryConfiguration.SerializationProperties zu, und verwenden Sie dann dieses DataCacheFactoryConfiguration-Objekt zum Konfigurieren einer neuen DataCacheFactory.

Das folgende Beispiel zeigt, wie Code zum Angeben einer benutzerdefinierten Serialisierung namens MyNamespace.MySerializer verwendet wird.

DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration();

configuration.SerializationProperties = 
   new DataCacheSerializationProperties(DataCacheObjectSerializerType.CustomSerializer, 
   new MyNamespace.MySerializer());

// Assign other DataCacheFactoryConfiguration properties...

// Then create a DataCacheFactory with this configuration
DataCacheFactory factory = new DataCacheFactory(configuration);

Wenn eine benutzerdefinierte Serialisierung mit einem Cache verwendet wird, müssen alle Clients dieses Caches die gleiche Version der benutzerdefinierten Serialisierung verwenden, wenn sie auf freigegebene Objekte in diesem Cache zugreifen.

Anzeigen:
© 2014 Microsoft