Example #1
0
        public Input GetInputData()
        {
            if (!IsServerAvailable())
            {
                Console.WriteLine($"Server {_serverAddress} not available");

                return(null);
            }

            var response = _httpClient.GetAsync($"{_serverAddress}{GetInputDataMethod}").Result;

            try
            {
                response.EnsureSuccessStatusCode();
                var jsonInputData = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine($"Input data {jsonInputData} received");

                return(UniversalSerializer.Deserialize <Input>(SerializationType.Json, jsonInputData));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);

                return(null);
            }
        }
 public long SerializeThenDeserialize_Once_InFile(object data, string FileName, DataDescriptor dataDescriptor)
 {
     using (var ser = new UniversalSerializer(FileName))
     {
         ser.Serialize(data);
         var deserializedData = ser.Deserialize();
         dataDescriptor.CheckPartialDeserializedData(data, deserializedData);
     }
     return(new FileInfo(FileName).Length);
 }
Example #3
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Введите тип сериализации (xml, json):");
            var serializationType = Console.ReadLine();

            Console.WriteLine("Введите объект сериализации (Input):");
            var input  = Console.ReadLine();
            var output =
                ResultCalculator.CalculateOutput(UniversalSerializer.Deserialize <Input>(serializationType, input));

            Console.WriteLine(UniversalSerializer.Serialize(serializationType, output));
        }
Example #4
0
        static void LocalTest()
        {
#if false
            using (var ms = new MemoryStream())
                using (var ser = new UniversalSerializer(ms, SerializerFormatters.XmlSerializationFormatter))
                {
                    var data = Guid.NewGuid();
                    ser.Serialize(data);
                    var d  = ser.Deserialize <Guid>();
                    var ok = data == d;
                }
#endif
        }
 public long SerializeThenDeserialize_Once_InRAM(object data, DataDescriptor dataDescriptor)
 {
     using (MemoryStream stream = new MemoryStream())
     {
         var ser = new UniversalSerializer(new Parameters()
         {
             Stream = stream
         });
         ser.Serialize(data);
         var deserializedData = ser.Deserialize();
         dataDescriptor.CheckPartialDeserializedData(data, deserializedData);
         return(stream.Length);
     }
 }
 public long SerializeThenDeserialize_Once_InFile(object data, string FileName, DataDescriptor dataDescriptor)
 {
     using (FileStream stream = new FileStream(FileName, FileMode.Create))
     {
         var ser = new UniversalSerializer(new Parameters()
         {
             Stream = stream, SerializerFormatter = SerializerFormatters.JSONSerializationFormatter
         });
         ser.Serialize(data);
         var deserializedData = ser.Deserialize();
         dataDescriptor.CheckPartialDeserializedData(data, deserializedData);
         return(stream.Length);
     }
 }
Example #7
0
        private static void WriteAnswer(HttpListenerContext context, Input input)
        {
            using var sr = new StreamReader(context.Request.InputStream);
            using var sw = new StreamWriter(context.Response.OutputStream);
            var clientOutputJson = sr.ReadToEnd();
            var serverOutputJson =
                UniversalSerializer.Serialize(SerializationType.Json, ResultCalculator.CalculateOutput(input));

            if (serverOutputJson == clientOutputJson)
            {
                sw.Write("Correct answer");
            }
            else
            {
                sw.Write("Incorrect answer");
            }
        }
 public long SerializeThenDeserialize_Loop_InRAM(object data, int loopCount, DataDescriptor dataDescriptor)
 {
     using (MemoryStream stream = new MemoryStream())
     {
         var ser = new UniversalSerializer(new Parameters()
         {
             Stream = stream
         });
         for (int iLoop = 0; iLoop < loopCount; iLoop++)
         {
             long position = stream.Position;
             ser.Serialize(data);
             stream.Position = position;
             var deserializedData = ser.Deserialize();
             dataDescriptor.CheckPartialDeserializedData(data, deserializedData);
         }
         return(stream.Length);
     }
 }
        public long SerializeThenDeserialize_Loop_InFile(object data, int loopCount, string FileName, DataDescriptor dataDescriptor)
        {
            using (FileStream stream = new FileStream(FileName, FileMode.Create))
            {
                var ser = new UniversalSerializer(new Parameters()
                {
                    Stream = stream, SerializerFormatter = SerializerFormatters.JSONSerializationFormatter
                });

                for (int iLoop = 0; iLoop < loopCount; iLoop++)
                {
                    long position = stream.Position;
                    ser.Serialize(data);
                    stream.Position = position;
                    var deserializedData = ser.Deserialize();
                    dataDescriptor.CheckPartialDeserializedData(data, deserializedData);
                }
                return(stream.Length);
            }
        }
Example #10
0
        private static Input PostInputData(HttpListenerContext context)
        {
            using var sr = new StreamReader(context.Request.InputStream);
            using var sw = new StreamWriter(context.Response.OutputStream);
            var obj = sr.ReadToEnd();

            try
            {
                var input = UniversalSerializer.Deserialize <Input>(SerializationType.Json, obj);
                sw.Write(UniversalSerializer.Serialize(SerializationType.Json, input));

                return(input);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                sw.Write(HttpStatusCode.BadRequest);

                return(null);
            }
        }
Example #11
0
        public void WriteAnswer(Output output)
        {
            if (!IsServerAvailable())
            {
                Console.WriteLine($"Server {_serverAddress} not available");
            }

            var jsonOutput = UniversalSerializer.Serialize(SerializationType.Json, output);
            var content    = new StringContent(jsonOutput, Encoding.UTF8, "application/json");
            var response   = _httpClient.PostAsync($"{_serverAddress}{WriteAnswerMethod}", content).Result;

            try
            {
                response.EnsureSuccessStatusCode();
                Console.WriteLine($"Answer {jsonOutput} sent");
                Console.WriteLine($"Response: {response.Content.ReadAsStringAsync().Result}");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #12
0
        static void LocalTest()
        {
#if false
            {
                var data = new Hashtable(); data.Add(0, 1);
                using (var ser = new UniversalSerializer("TestXmlFormatter.uniser.json", SerializerFormatters.JSONSerializationFormatter))
                {
                    ser.Serialize(data);
                    var deserialized = ser.Deserialize <Hashtable>();
                }
            }

            {
                using (var ms = new MemoryStream())
                    using (var ser = new UniversalSerializer(ms, SerializerFormatters.XmlSerializationFormatter))
                    {
                        var data = new System.Data.DataSet();
                        ser.Serialize(data);
                        var d  = ser.Deserialize <System.Data.DataSet>();
                        var ok = data == d;
                    }
            }
#endif
        }
Example #13
0
 private static void GetInputData(HttpListenerContext context, Input input)
 {
     using var sw = new StreamWriter(context.Response.OutputStream);
     sw.Write(UniversalSerializer.Serialize(SerializationType.Json, input));
 }