void MessageHandleAsync_Completed(MessageData respData, Exception ex) { if (ex != null) { //CommonHelper.AddEventLog(EventSourceName, ex.Message); //RecordDB(ex.Message, respData); return; } if (respData == null) { //CommonHelper.AddEventLog(EventSourceName, "返回数据为空!"); return; } byte[] rebytes = respData.GetRespMessage(); // 发送个MQ(MessageID, buffer) MQMessage msg = GetMessage(respData.BizMsgID, respData.MessageID, respData.TragetPlatform, respData.IsMultiPackage); int realLen = rebytes.Length; if (respData.TragetPlatform != PlatformType.Encrypt) { byte end = 0; realLen = Array.IndexOf(rebytes, end); } byte[] buffer = new byte[realLen]; Array.Copy(rebytes, buffer, realLen); msg.Byte = buffer; _mqSender.SendMessage(msg); }
void MessageHandleAsync_Completed(MessageData respData, Exception ex) { if (respData == null) { //CommonHelper.AddEventLog(EventSourceName, "返回数据为空!"); return; } if (ex != null) { //CommonHelper.AddEventLog(EventSourceName, ex.Message); RecordDB(ex.Message, respData); MQMessage exmq = GetMessage(respData.BizMsgID, respData.MessageID, respData.TragetPlatform, !respData.IsMultiPackage, respData.SourceIP, ex.Message); return; } byte[] rebytes = respData.GetRespMessage(); // 发送个MQ(MessageID, buffer) MQMessage msg = GetMessage(respData.BizMsgID, respData.MessageID, respData.TragetPlatform, !respData.IsMultiPackage, respData.SourceIP, ""); int realLen = rebytes.Length; if (respData.TragetPlatform != PlatformType.Encrypt) { byte end = 0; realLen = Array.IndexOf(rebytes, end); } byte[] buffer = new byte[realLen]; Array.Copy(rebytes, buffer, realLen); msg.Byte = buffer; lock (typeof(MQHandlerSync)) { _mqSender.SendMessage(msg); } AidLogHelper.Write(xQuant.Log4.LogLevel.Debug, "socket处理完,MQ发回消息(MQHandlerSync)"); }
void MessageHandleAsync_Completed(MessageData data, Exception ex) { Interlocked.Decrement(ref _dataCount); if (_isConCurrentTesting) { //String eventSourceName = "xQuant.ConCurrentTesting"; //StringBuilder sb = new StringBuilder(); //sb.AppendFormat("Req:{0}; Begin:{1} Type:{2}", data.MessageID, data.Begin.ToString("HH:mm:ss:fff"), respData.GetType().ToString()); //sb.AppendLine(); //sb.AppendFormat("Resp:{0}; End:{1}, Remain:{2}", data.RespMsgID, DateTime.Now.ToString("HH:mm:ss:fff"), _dataCount); //CommonHelper.AddEventLog(eventSourceName, sb.ToString()); if (_dataCount <= 0) { TimeSpan span = new TimeSpan(DateTime.Now.Ticks - _begin); MessageBox.Show("Finish! Duration:" + span.TotalMilliseconds.ToString()); } return; } StringBuilder result = new StringBuilder(); if (ex != null) { return; } if (data == null) { } byte[] rebytes = data.GetRespMessage(); // 发送个MQ(MessageID, buffer) // 跳过MQ // .... // web界面层 int realLen = rebytes.Length; if (data.TragetPlatform != PlatformType.Encrypt) { byte end = 0; realLen = Array.IndexOf(rebytes, end); } byte[] buffer = new byte[realLen]; Array.Copy(rebytes, buffer, realLen); BizMsgDataBase respData = null; respData = MsgTransfer.DecodeMsg(data.MessageID, buffer); #region Test code if (respData is RetrieveCstmData) { TestForRetrieveCstm(result, (CoreBizMsgDataBase)respData); result.AppendLine(); if (_dataCount <= 0) { long end = DateTime.Now.Ticks; TimeSpan span = new TimeSpan(end - _begin); MessageBox.Show(span.TotalMilliseconds.ToString()); } //textBoxRetCstmResult.Text += result.ToString(); } else if (respData is RetrieveCstmBaseInfoData) { TestRetrieveCstmBaseInfo(result, respData); textBoxRetCstmResult.Text = result.ToString(); } else if (respData is UpdateCstmData) { TestForUpdateCstm(result, (CoreBizMsgDataBase)respData); result.AppendLine(); if (_dataCount <= 0) { long end = DateTime.Now.Ticks; TimeSpan span = new TimeSpan(end - _begin); MessageBox.Show(span.TotalMilliseconds.ToString()); } //textBoxRespUpdtCstm.Text += result.ToString(); } else if (respData is AddCstmData) { TestForAddCstm(result, (CoreBizMsgDataBase)respData); textBoxRespUpdtCstm.Text = result.ToString(); } else if (respData is AcctRecordData) { //TestForAcctRecord(result, (CoreBizMsgDataBase)respData); //textBoxRespAcct.Text = result.ToString(); } else if (respData is EncryptTellerAuth) { EncryptTellerAuth encryptTeller = respData as EncryptTellerAuth; if (encryptTeller.AfterEncrypt) { TestForLogin(result, encryptTeller); textBoxEncryptOutput.Text = result.ToString(); //if (DialogResult.OK == MessageBox.Show(_dataCount.ToString(), "Test", MessageBoxButtons.OK)) { if (_dataCount <= 0) { long end = DateTime.Now.Ticks; TimeSpan span = new TimeSpan(end - _begin); MessageBox.Show(span.TotalMilliseconds.ToString()); } } } else { TellerLogin2((EncryptTellerAuth)respData); } } #endregion }