public async virtual Task <string> SerializeAsync(IMonitorResult <TInput> data) { var sb = new StringBuilder(); sb.Append(data.Created); if (data.Value != null) { await SerializeDataAsync(sb, data.Value); } return(sb.ToString()); }
public Task <string> SerializeAsync(IMonitorResult <TInput> data) { if (data == null) { return(StringEmptyTask); } using (var ms = new MemoryStream()) { var serializer = new DataContractJsonSerializer( typeof(IMonitorResult <TInput>), new[] { data.GetType() } ); serializer.WriteObject(ms, data); var json = ms.ToArray(); var result = Encoding.UTF8.GetString(json, 0, json.Length); return(Task.FromResult(result)); } }
public async Task ReportAsync(IMonitorResult <TData> data) { var output = await _serializer.SerializeAsync(data); await _textWriter.WriteLineAsync(output); }