private void GenerateReport(object state) { string timeStamp = GetTimeStamp(); double total = _infoRecords.Sum(host => host.Value); ReportObject obj = ReportObject.Create(timeStamp, _infoRecords.Count, total); AppendToReport(obj); _infoRecords = new BlockingCollection <SocketInfoHost>(60); //reset concurrent collection }
private void AppendToReport(ReportObject obj) { var fileName = ConfigurationManager.AppSettings["resultFile"]; using (StreamWriter writer = File.AppendText(fileName)) { var content = string.Format("{0},{1},{2:######.000000}", obj.TimeStamp, obj.Sessions, obj.SumAggregation); writer.WriteLineAsync(content); Console.WriteLine(content); } }