public static Dictionary <string, string> GetComputerInfoDict(SubmitComputerLogMode mode) { var dictTemp = Globals.myComputerInfo.ToDictionary(); switch (mode) { case SubmitComputerLogMode.Startup: dictTemp.Add("event", "startup"); break; case SubmitComputerLogMode.Logoff: dictTemp.Add("event", "logoff"); break; case SubmitComputerLogMode.Logged: dictTemp.Add("event", "logged"); break; default: break; } //bool sent_completed = false; int retry_count_max = 5; int.TryParse(Configuration.configuration["update_computer.retry_count_max"], out retry_count_max); //int time_out = 5000; //int wait_time = 10; //int.TryParse(Configuration.configuration["update_computer.retry_wait"], out wait_time); return(dictTemp); }
public static string GetComputerInfoJsonString(SubmitComputerLogMode mode) { var dictIn = GetComputerInfoDict(mode); var jsonString = Globals.functions.Json_toJsonObj(dictIn); return(jsonString); }
public static void SubmitComputerLog(SubmitComputerLogMode mode) { try { var pathTemp = Configuration.configuration["update_computer.url"]; var dictTemp = Globals.myComputerInfo.ToDictionary(); switch (mode) { case SubmitComputerLogMode.Startup: dictTemp.Add("event", "startup"); break; case SubmitComputerLogMode.Logoff: dictTemp.Add("event", "logoff"); break; case SubmitComputerLogMode.Logged: dictTemp.Add("event", "logged"); break; default: break; } bool sent_completed = false; int retry_count_max = 5; int.TryParse(Configuration.configuration["update_computer.retry_count_max"], out retry_count_max); int time_out = 5000; int wait_time = 10; int.TryParse(Configuration.configuration["update_computer.retry_wait"], out wait_time); //.NET4.5.2 //Task taskA = Task.Run(() => //.NET4.0 Task taskA = Task.Factory.StartNew(() => { int retry_count = 0; while (!sent_completed && retry_count < retry_count_max) { Globals.log.Debug("\nTrying to submit computer info :: retry_count = " + retry_count); var returnCode = Globals.functions.HttpPostRequestDictionary(pathTemp, dictTemp, time_out); if (returnCode == Globals.functions.HttpPostRequestReturnCode.COMPLETED) { sent_completed = true; break; } if (mode == ComputerInfo.SubmitComputerLogMode.Logoff || Globals.isProgramExit) { break; } Thread.Sleep(wait_time * 1000); retry_count += 1; } if (sent_completed) { Globals.log.Debug("\nSuccess to submitting computer info :: retry_count = " + retry_count); } else { Globals.log.Warn(String.Format("\nUnable and giveup to submit computer info :: retry_count = {0}, time_out = {1}, wait_time = {2}", retry_count, time_out, wait_time)); } }); } catch (Exception e) { Globals.log.Error("SubmitComputerLog(.)"); Globals.log.Debug(e.ToString()); } }