gpt4 book ai didi

serialization - AppFabric 缓存 - 我可以指定用于所有对象的序列化样式吗?

转载 作者:行者123 更新时间:2023-12-04 07:59:46 26 4
gpt4 key购买 nike

实现某些自定义序列化的对象可以序列化和反序列化为不同的格式,例如 Xml 或 byte[]。

我遇到了一个问题,当我放入缓存时,AppFabric 在一个类上运行 IXmlSerializable 实现,而我宁愿强制它使用二进制文件。 AppFabric Caching - What are its serialization and deserialization requirements for an object?

我可以配置这个吗?

(目前的解决方法是以编程方式将对象序列化为 byte[],然后将其发送到缓存中,在退出时反转该过程)。

最佳答案

在 MSDN 文档中,它说我们可以实现 IDataCacheObjectSerializer 来实现这个目标。你可以在这里阅读: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
}
}

之后,您可以将自定义序列化程序设置为 DataCacheFactory:
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);

希望这可以帮助。

关于serialization - AppFabric 缓存 - 我可以指定用于所有对象的序列化样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3756480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com