private void updateValuse() { using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ReadOnly_CreateIfNotThere)) { StringBuilder sb = new StringBuilder(); sb.AppendLine("<pre>"); sb.AppendLine("TimeNow: " + DateTime.UtcNow.ToSwissTime(false) + " " + DateTime.UtcNow.ToString()); sb.AppendLine("ASP build time (utc): " + ld.ASP_Rebuild_Time.ToSwissTime(true)); sb.AppendLine("LastError: " + ld.LastError); sb.AppendLine("Entries.Count: " + ld.GetEntryCount()); foreach (System.Collections.Generic.KeyValuePair <string, DataFile_Loopback_Entry> e_ in ld.GetAllEntries()) { DataFile_Loopback_Entry e = e_.Value; sb.AppendLine(" ID: " + e.EntryId); sb.AppendLine(" Last Tray Connection: " + e.lastTrayConnection.ToSwissTime(true)); sb.AppendLine(" Last Tray Id: " + e.lastTrayId); sb.AppendLine(" Last Tray out: " + e.lastToTray.ToSwissTime(true)); sb.AppendLine(" Last Tray out: " + e.lastToTrayData); sb.AppendLine(" trayTypeAndIp: " + e.trayTypeAndIp); sb.AppendLine(" debugStr: " + e.debugStr); sb.AppendLine(" Last DirectTel Get: " + e.lastDirectTelGet.ToSwissTime(true)); sb.AppendLine(" Last DirectTel Ack: " + e.lastDirectTelAck.ToSwissTime(true)); sb.AppendLine("-----------------------------------------------"); } sb.AppendLine("</pre>"); StatusText.InnerHtml = sb.ToString(); } }
public static void DebugLoopback(IMyLog log, QuestionOption it) { using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { ld.LastError = "e13"; ld.GetEntry_CreateIfNotThere(NiceSystemInfo.DEFAULT_STR).debugStr = "Zero is nice at " + DateTime.UtcNow.Ticks.ToUkTime(false); ld.GetEntry_CreateIfNotThere("123").debugStr = "only testing"; } }
protected void Click_AddScreenshot(object sender, EventArgs e) { Data_Net__02ScreenshotRequest msg = new Data_Net__02ScreenshotRequest(); DSSwitch.msgFile02().Store(SessionData.SessionsSystem_Get(Session), msg, MyLog.GetLogger("Loopback")); using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { //ld.lastScreenshotAdded = DateTime.UtcNow; } updateValuse(); }
protected void Page_Load(object sender, EventArgs e) { // This comes from the TrayApp IMyLog trayLog = MyLog.GetLogger("TrayApp"); LogForEmailSend log4Email = new LogForEmailSend(MyLog.GetLogger("Email")); try { // 1) read in incoming object //log.Info("incoming msg"); Data_Net_Tray2ASP fromTray = new Data_Net_Tray2ASP(); Stream streamB64 = Request.InputStream; if (streamB64.Length == 0) { using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { ld.GetEntry_CreateIfNotThere(NiceSystemInfo.DEFAULT_STR).debugStr = "Zero is nice at " + DateTime.UtcNow.Ticks.ToUkTime(false); } Response.ContentType = "text/plain"; Response.Write("Zero is nice!"); return; } BinBase64StreamHelper.Tray2ASP_FromB64Stream(ref fromTray, streamB64); ASPTray_ObjectList.Counters fromTrayCounter = fromTray.GetCounters(); if (fromTrayCounter.Total_Results() != 0) { trayLog.Debug("X " + fromTrayCounter.Total_ResultsString()); } //trayLog.Debug("TrayApp request from " + fromTray.TrayType); NiceSystemInfo subSystem = fromTray.TrayType.GetSystemInfoFromTrayType(); if (subSystem == null) { using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { ld.LastError = string.Format("incomming subSystem '{0}' not recognised. {1}", fromTray.TrayType, DateTime.UtcNow.Ticks.ToUkTime(false)); } throw new SystemException("Unknown System: " + fromTray.TrayType); } //trayLog.Debug("TrayApp loaded " + subSystem.Name); // Update loopback file (with the data from the incoming object) using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { DataFile_Loopback_Entry sub = ld.GetEntry_CreateIfNotThere(subSystem.Name); sub.lastTrayConnection = DateTime.UtcNow; sub.lastTrayId = fromTrayCounter.Total_ResultsString(); sub.trayTypeAndIp = fromTray.TrayType + " - " + Request.UserHostAddress + " - " + (Request.IsSecureConnection ? "https" : "httpONLY"); } // 3) Process each file from the incoming object MessageProcessing_TrayFrom proc = new MessageProcessing_TrayFrom(subSystem, onScreenshot, trayLog, log4Email); proc.Process_TrayFrom(fromTray, true); // 5) prepare the object to be sent Data_Net_ASP2Tray toTray = new Data_Net_ASP2Tray(); DateTime dtGo = DateTime.UtcNow.AddSeconds(3); while ((toTray.ObjectList.Count == 0) && (dtGo > DateTime.UtcNow)) { // no data yet to send and no timeout toTray.ObjectList = MessageProcessing_TrayTo.GetFilesToSendToTray_ConsiderPriority(subSystem, 5, trayLog); if (toTray.ObjectList.Count == 0) { Thread.Sleep(500); } } // 6) update the loopback file with the sent date ASPTray_ObjectList.Counters toTrayCounter = toTray.GetCounters(); using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { DataFile_Loopback_Entry sub = ld.GetEntry_CreateIfNotThere(subSystem.Name); sub.lastToTray = DateTime.UtcNow; sub.lastToTrayData = "FilesToProcess: " + toTrayCounter.Total_RequestsString(); } // 7) send the object to be sent // Response.ContentType = "application/octet-stream"; Response.ContentType = "text/plain"; BinBase64StreamHelper.ASP2Tray_ToB64Stream(ref toTray, Response.OutputStream); } catch (ThreadAbortException) { trayLog.Debug("ThreadAbortException"); } catch (Exception se) { trayLog.Error("TrayApp " + se.Message + " " + se.ToString()); Response.ContentType = "text/plain"; Response.Write("Exception"); Response.Write(se.Message); Response.Write(se.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { // This comes from the Android direct IMyLog trayLog = MyLog.GetLogger("TrayApp"); trayLog.Info("Incoming 17:00"); string inBody = "notSet"; try { LogForEmailSend log4Email = new LogForEmailSend(MyLog.GetLogger("Email")); Stream inStream = Request.InputStream; if (inStream.Length == 0) { Response.ContentType = "text/plain"; Response.Write("DirectTel: Zero!"); return; } DirectTel_InJson inJson = null; using (var sr = new StreamReader(inStream)) { inBody = sr.ReadToEnd(); inJson = JsonConvert.DeserializeObject <DirectTel_InJson>(inBody); } trayLog.Debug("In Json: "); trayLog.Debug(JsonConvert.SerializeObject(inJson)); DirectTel_OutJson outJson = DirectTel_Processing.ProcessDirectTel(inJson, trayLog, log4Email, delegate(NiceSystemInfo subSystem) { //OnGet // Update loopback file (with the data from the incoming object) using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { DataFile_Loopback_Entry sub = ld.GetEntry_CreateIfNotThere(subSystem.Name); sub.lastDirectTelGet = DateTime.UtcNow; } }, delegate(NiceSystemInfo subSystem) { //OnAck // Update loopback file (with the data from the incoming object) using (DataFile_Loopback ld = new DataFile_Loopback(DataFile_Base.OpenType.ForUpdate_CreateIfNotThere)) { DataFile_Loopback_Entry sub = ld.GetEntry_CreateIfNotThere(subSystem.Name); sub.lastDirectTelAck = DateTime.UtcNow; } }); trayLog.Debug("Out Json: "); trayLog.Debug(JsonConvert.SerializeObject(outJson)); Tx(outJson); } catch (ThreadAbortException) { trayLog.Debug("ThreadAbortException"); } catch (Exception se) { trayLog.Error("DirectTel " + se.Message + " " + se.ToString()); trayLog.Error("DirectTel " + inBody); Response.ContentType = "text/plain"; Response.Write("Exception"); Response.Write(se.Message); Response.Write(se.ToString()); } }