static void WritePolledNetSalesAsync(object SalesAmount) { //No need to continue if a file is not specified to write to. if (String.IsNullOrEmpty(PolledNetSalesFile)) { return; } //Write the polled sales to file //Lock our static object to prevent threads from trying to write to the file at the same time which would cause an exception lock (PolledFileWriteLock) { try { NetSales sales = (NetSales)SalesAmount; using (FileStream fstream = new FileStream(PolledNetSalesFile, FileMode.Append, FileAccess.Write)) { using (StreamWriter writer = new StreamWriter(fstream)) writer.WriteLine(sales.StoreNum + "\t" + sales.TransDate.ToString("MM/dd/yyyy") + "\t" + sales.NetSalesAmount.PadLeft(9, '0')); } } catch { } } }
static void WritePolledNetSales(string storeNum, string Amount, DateTime TransDate) { NetSales sales = new NetSales(); sales.StoreNum = storeNum; sales.NetSalesAmount = Amount; sales.TransDate = TransDate; ThreadPool.QueueUserWorkItem(new WaitCallback(WritePolledNetSalesAsync), sales); }