Пример #1
0
 private static byte[] SerializeInternal <T>(IMarshallerFactory factory, object value)
 {
     using (var context = new DefaultSerializationContext())
     {
         factory.CreateMarshaller <T>().ContextualSerializer((T)value, context);
         return(context.GetContent());
     }
 }
Пример #2
0
        public static byte[] SerializeValue <T>(Marshaller <T> marshaller, T value)
        {
            byte[] payload;
            using (var serializationContext = new DefaultSerializationContext())
            {
                marshaller.ContextualSerializer(value, serializationContext);
                payload = serializationContext.GetContent();
            }

            return(payload);
        }
        private static T ContextualClone <T>(T value, Marshaller <T> marshaller)
        {
            byte[] content;
            using (var serializationContext = new DefaultSerializationContext())
            {
                marshaller.ContextualSerializer(value, serializationContext);
                content = serializationContext.GetContent();
            }

            Console.WriteLine("Size: {0}", content.Length);
            return(marshaller.ContextualDeserializer(new DefaultDeserializationContext(content)));
        }
Пример #4
0
        private static Metadata SerializeHeader <T>(Marshaller <T> marshaller, string headerName, T headerValue)
        {
            byte[] payload;
            using (var serializationContext = new DefaultSerializationContext())
            {
                marshaller.ContextualSerializer(headerValue, serializationContext);
                payload = serializationContext.GetContent();
            }

            return(new Metadata
            {
                { headerName, payload }
            });
        }
Пример #5
0
        private void MarshallTest <T>(T value)
        {
            byte[] content;
            using (var serializationContext = new DefaultSerializationContext(10 * 1024))
            {
                DataContractMarshaller <T> .Default.ContextualSerializer(value, serializationContext);

                content = serializationContext.GetContent();
            }

            var actual = DataContractMarshaller <T> .Default.ContextualDeserializer(new DefaultDeserializationContext(content));

            actual.ShouldBe(value);
        }
Пример #6
0
        public void MarshallNull()
        {
            byte[] content;
            using (var serializationContext = new DefaultSerializationContext())
            {
                DataContractMarshaller <string> .Default.ContextualSerializer(null !, serializationContext);

                content = serializationContext.GetContent();
            }

            var actual = DataContractMarshaller <string> .Default.ContextualDeserializer(new DefaultDeserializationContext(content));

            actual.ShouldBeNull();
        }