Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }