Frage

Ein Objekt, das implementiert einige benutzerdefinierte Serialisierung serialisiert und in verschiedene Formate deserialisiert werden kann, zum Beispiel in XML oder byte [].

Ich habe auf ein Problem stoßen, wo, wenn ich in den Cache gestellt, läuft AppFabric die IXmlSerializable Implementierung einer Klasse, wenn ich es eher mit binären zu gehen zwingen würde. AppFabric Caching - Was sind die Serialisierung und Deserialisierung Anforderungen für ein Objekt

?

Kann ich konfigurieren das?

(Im Moment ist die Abhilfe ist, das Objekt programmatisch auf einen byte [] serialisiert und dann, dass in den Cache senden, auf dem Weg, den Prozess umzukehren out).

War es hilfreich?

Lösung

In der MSDN-Dokumentation sagt, es wir IDataCacheObjectSerializer implementieren könnte dieses Ziel zu erreichen. Sie können darüber hier lesen: http://msdn.microsoft.com/en-us/library /windowsazure/hh552969.aspx

class MySerializer : IDataCacheObjectSerializer
{
    public object Deserialize(System.IO.Stream stream)
    {
        // Deserialize the System.IO.Stream 'stream' from
        // the cache and return the object 
    }

    public void Serialize(System.IO.Stream stream, object value)
    {
        // Serialize the object 'value' into a System.IO.Stream
        // that can be stored in the cache
    }
}

Afer, dass, können Sie den benutzerdefinierten Serializer zum DataCacheFactory gesetzt:

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

Hope, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top