private void GetUploadData(object state) { SynchronizationContext sc = (SynchronizationContext)state; // Get Data from Database MainScCallbackState mainState = new MainScCallbackState( ); mainState.type = MainScCallbackState.CallbackType.TypeUploadData; // to Center StringBuilder builder = new StringBuilder(); try { dbMySQL.GetRecordData(builder); mainState.data = builder; sc.Post(scCallback, mainState); if (0 != builder.Length) { wcfClient.UploadRecordData(builder); dbMySQL.DeleteUploadRecordData(); } } catch (Exception ex) { mainState.data = CommonFunction.GetExceptionMessage(ex); mainSC.Post(scCallback, mainState); } }
private void MainScCallback(object state) { if (null == state || string.Empty == state.ToString()) { return; } MainScCallbackState scState = state as MainScCallbackState; strBuilder.Clear(); string strData = scState.data.ToString(); if (string.Empty == strData) { return; } switch (scState.type) { case MainScCallbackState.CallbackType.TypeGetImage: strBuilder.Append("【获取进出图像】"); break; case MainScCallbackState.CallbackType.TypeUploadData: strBuilder.Append("【上传记录数据】"); break; case MainScCallbackState.CallbackType.TypeMessage: break; } strBuilder.Append(strData); DisplayLog(strBuilder); }
private void tcpClient_QueryEvent(object sender, WcfCommonLib.TcpClient.SocketEVentArgs e) { ParseQueryString(e); return; MainScCallbackState mainState = new MainScCallbackState(); mainState.type = MainScCallbackState.CallbackType.TypeGetImage; StringBuilder builder = new StringBuilder(e.QueryString); builderQuery.Append(e.QueryString); bool bTransfered = true; bool bIn = true; bool bOut = true; try { // ParkID|RecordID string[] strQuery = e.QueryString.Split(new char[] { '|' }); byte[] inImage; byte[] outImage; dbMySQL.GetImage(strQuery[1], out inImage, out outImage); if (null == inImage) { bIn = false; builder.Append(" 进入图像为空"); } if (null == outImage) { bOut = false; builder.Append(" 离开图像为空"); } bTransfered = bIn || bOut; //byte[] tmpInImage = new byte[10000000]; //inImage.CopyTo(tmpInImage, 0); //byte[] tmpOutInImage = new byte[59137]; //outImage.CopyTo(tmpOutInImage, 0); // to Center //MemoryStream streamIn = new MemoryStream(inImage); //MemoryStream streamOut = new MemoryStream(outImage); //wcfClient.GetData(123); mainState.data = builder; mainSC.Post(scCallback, mainState); if (bTransfered) { wcfClient.UploadInOutImage(strQuery[0], strQuery[1], inImage, outImage); } } catch (Exception ex) { mainState.data = CommonFunction.GetExceptionMessage(ex); mainSC.Post(scCallback, mainState); } }
void tcpClient_MessageEvent(object sender, WcfCommonLib.TcpClient.MessageEventArgs e) { if (e.bCrossThread) { MainScCallbackState mainState = new MainScCallbackState(); mainState.type = MainScCallbackState.CallbackType.TypeMessage; mainState.data = e.strMessage; mainSC.Post(scCallback, mainState); } else { DisplayLog(e.strMessage); } }
private void ProcessQuery(string strQueryString) { MainScCallbackState mainState = new MainScCallbackState(); mainState.type = MainScCallbackState.CallbackType.TypeGetImage; StringBuilder builder = new StringBuilder(strQueryString); bool bTransfered = true; bool bIn = true; bool bOut = true; try { // ParkID|RecordID string[] strQuery = strQueryString.Split(new char[] { '|' }); byte[] inImage; byte[] outImage; dbMySQL.GetImage(strQuery[1], out inImage, out outImage); if (null == inImage) { bIn = false; builder.Append(" 进入图像为空"); } if (null == outImage) { bOut = false; builder.Append(" 离开图像为空"); } bTransfered = bIn || bOut; mainState.data = builder; mainSC.Post(scCallback, mainState); if (bTransfered) { wcfClient.UploadInOutImage(strQuery[0], strQuery[1], inImage, outImage); } } catch (Exception ex) { mainState.data = CommonFunction.GetExceptionMessage(ex); mainSC.Post(scCallback, mainState); } }