public T Run <T>(DataBus dataBus, string code) where T : class { //string serializedCode = SerializeCode(code); string serializedCode = code; DebugAction debugAction = new DebugAction(dataBus); debugAction.CommandLine = serializedCode; //string.Format(codeFormat, serializedCode); HttpResponseMessage response = debugAction.DoAction(); Execute excuteObject = debugAction.ResponseData as Execute; ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); while (excuteObject.ClientRequestEntity.Messages.Rearm) { //Get messages MessageResponseAction messageResponseAction = new MessageResponseAction(dataBus); response = messageResponseAction.DoAction(); excuteObject = messageResponseAction.ResponseData as Execute; ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); } if (typeof(T) == typeof(JsonRaw)) { JsonRaw jsonRaw = new JsonRaw(); jsonRaw.Text = excuteObject.ClientRequestEntity.Messages[0].Text; //response. GetContent(); return(jsonRaw as T); } string resultStr = excuteObject.ClientRequestEntity.Messages[0].Text; return(JsonToObject <T>(resultStr)); }
public void InitStack(DataBus dataBus) { DebugAction debugAction = new DebugAction(dataBus); debugAction.CommandLine = "stack"; HttpResponseMessage response = debugAction.DoAction(); Execute excuteObject = debugAction.ResponseData as Execute; //ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); ClientRequest clientRequest = excuteObject.ClientRequestEntity; if (clientRequest != null) { DebugTraceRADCall parentRadCall = new DebugTraceRADCall(); parentRadCall.RADName = clientRequest.Messages.Messages[0].Text; topRAD = parentRadCall; DebugTraceRADCall childRadCall = parentRadCall; for (int i = 1; i < clientRequest.Messages.Messages.Count; i++) { childRadCall = new DebugTraceRADCall(); childRadCall.RADName = clientRequest.Messages.Messages[i].Text; childRadCall.Parent = parentRadCall; parentRadCall.Traces.Add(childRadCall); parentRadCall = childRadCall; } currentRAD = childRadCall; foreach (MessageItem messageItem in clientRequest.Messages.Messages) { radStack.Push(messageItem.Text); } } }
private void button1_Click(object sender, EventArgs e) { string sessionId = textBoxCookieId.Text.Trim(); string authorizationString = textBoxAuthorization.Text.Trim(); ConnectionInfo currentConnectionInfo = comboBoxServer.SelectedItem as ConnectionInfo; SessionCache sessionCache = new SessionCache(); ConnectionSession connectionSession = sessionCache[currentConnectionInfo]; DataBus dataBus = connectionSession.GetDataBus(sessionId, authorizationString); DebugAction debugAction = new DebugAction(dataBus); debugAction.CommandLine = textBoxDebug.Text.Trim(); HttpResponseMessage response = debugAction.DoAction(); Execute excuteObject = debugAction.ResponseData as Execute; ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); debugEntity.AddTrace(excuteObject); if (excuteObject.ClientRequestEntity == null) { try { SyncBackData(response.CopiedStream, response.ChunkIndexes[1]); //semaphoreEmpty.Release(); if (dataSyncThread.ThreadState == ThreadState.Suspended) { dataSyncThread.Resume(); } } catch { } return; } else if (!excuteObject.ClientRequestEntity.Messages.Rearm) { return; } else { //return; } while (true) { DebugResponseAction debugResponse = new DebugResponseAction(dataBus); response = debugResponse.DoAction(); excuteObject = debugResponse.ResponseData as Execute; ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); debugEntity.AddTrace(excuteObject); if (excuteObject.ClientRequestEntity == null) { SyncBackData(response.CopiedStream, response.ChunkIndexes[1]); //semaphoreEmpty.Release(); if (dataSyncThread.ThreadState == ThreadState.Suspended) { dataSyncThread.Resume(); } break; } else if (excuteObject.ClientRequestEntity.Messages.Rearm == false) { //semaphoreEmpty.Release(); //if (dataSyncThread.ThreadState == ThreadState.Suspended) //{ // dataSyncThread.Resume(); //} //break; } else { //Nothing to do. } } }
private void SendDebugCommand(object debugCommandObj) { string debugCommand = debugCommandObj.ToString(); using (DataBus dataBus = GetDataBus()) { DebugAction debugAction = new DebugAction(dataBus); debugAction.CommandLine = debugCommand; HttpResponseMessage response = debugAction.DoAction(); Execute excuteObject = debugAction.ResponseData as Execute; ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); if (excuteObject.ClientRequestEntity == null) { try { needHoldSMClient = false; //SyncBackData(response.CopiedStream, response.ChunkIndexes[1]); SyncBackChunckedData(response.CopiedStream, response.ChunkIndexes); if (dataSyncThread.ThreadState == System.Threading.ThreadState.Suspended) { dataSyncThread.Resume(); } } catch { //Nothing to do } return; } else if (!excuteObject.ClientRequestEntity.Messages.Rearm) { debugEntity.AddTrace(excuteObject); return; } else if (excuteObject.ClientRequestEntity.Name != "message") { while (true) { DebugResponseAction debugResponse = new DebugResponseAction(dataBus); response = debugResponse.DoAction(); excuteObject = debugResponse.ResponseData as Execute; ActionUtil.StoreMessages(excuteObject.ClientRequestEntity); if (excuteObject.ClientRequestEntity == null) { needHoldSMClient = false; //SyncBackData(response.CopiedStream, response.ChunkIndexes[1]); SyncBackChunckedData(response.CopiedStream, response.ChunkIndexes); //semaphoreEmpty.Release(); if (dataSyncThread.ThreadState == System.Threading.ThreadState.Suspended) { dataSyncThread.Resume(); } break; } else if (excuteObject.ClientRequestEntity.Messages.Rearm == false) { //semaphoreEmpty.Release(); //if (dataSyncThread.ThreadState == ThreadState.Suspended) //{ // dataSyncThread.Resume(); //} //break; } else { //Nothing to do. } debugEntity.AddTrace(excuteObject); } } else { //Nothing to do. } } }