我想獲得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,這正是我所需要的! –