我想获得protobuf序列化与RedisSessionStateProvider工作。我已经指定了redisSerializerType作为实现Microsoft.Web.Redis.ISerializer的自定义类 - 这里是反序列化代码:RedisSessionStateProvider与ProtoBuf序列化导致错误
public object Deserialize(byte[] data)
{
return DeserializeDirect(data);
}
private object DeserializeDirect(byte[] data)
{
using (var memoryStream = new MemoryStream(data))
{
return Serializer.Deserialize<object>(memoryStream);
}
return null;
}
当我需要实现Microsoft.Web.Redis.ISerializer签名的反序列化使用返回类型的对象,并且没有办法传入正在返回的实际类型。因此,当DeserializeDirect尝试使用Protobuf.Serializer反序列化它(如预期)所述:“Type不是预期的,并且不能推断出合同:System.Object”。我正在使用.NET框架4.6.1的Web应用程序,我希望有人能指出我做错了什么。
谢谢!
谢谢Marc,这正是我所需要的! –