public static object SafeDeserialize(object serializedObject, string serializationContext, BitSet flag) { object deserialized = serializedObject; try { if(!flag.IsBitSet(BitSetConstants.BinaryData)) { if (serializedObject is byte[]) { deserialized = CompactBinaryFormatter.FromByteBuffer((byte[])serializedObject, serializationContext); } else if (serializedObject is UserBinaryObject) { deserialized = CompactBinaryFormatter.FromByteBuffer(((UserBinaryObject)serializedObject).GetFullObject(), serializationContext); } } } catch (Exception ex) { //Kill the exception; it is possible that object was serialized by Java //or from any other domain which can not be deserialized by us. deserialized = serializedObject; } return deserialized; }
public override object SafeDeserialize(object serializedObject, string serializationContext, BitSet flag, CacheImplBase cacheImpl) { object deserialized = serializedObject; try { if (serializedObject is byte[] && cacheImpl.SerializationEnabled) { if (flag != null && flag.IsBitSet(BitSetConstants.BinaryData)) return serializedObject; deserialized = CompactBinaryFormatter.FromByteBuffer((byte[])serializedObject, serializationContext); } } catch (Exception exception) { //Kill the exception; it is possible that object was serialized by Java //or from any other domain which can not be deserialized by us. deserialized = serializedObject; //throw; } return deserialized; }