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); }
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)); }
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); } }
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); } }
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); } }
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); } }
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 }
private static void GetInputData(HttpListenerContext context, Input input) { using var sw = new StreamWriter(context.Response.OutputStream); sw.Write(UniversalSerializer.Serialize(SerializationType.Json, input)); }