Example #1
0
        /// <summary>
        /// 送出沖正Txlog request到後台並取回 沖正Txlog response
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        protected override ALTxlog_Domain GetResponse(ALTxlog_Domain request)
        {
            ALTxlog_Domain result = null;

            SocketClient.Domain.SocketClient socketClient = null;
            try
            {
                System.Diagnostics.Stopwatch timer = new System.Diagnostics.Stopwatch();
                SocketClient.Domain.Utilities.NewJsonWorker <ALTxlog_Domain> jsonWorker = new SocketClient.Domain.Utilities.NewJsonWorker <ALTxlog_Domain>();
                byte[] dataByte = jsonWorker.Serialize2Bytes(request);
                log.Debug(m => m("3.[AutoLoadReversalTxLog][Send] to Back-End Data: {0}", Encoding.ASCII.GetString(dataByte)));
                string[] setting        = ConfigLoader.GetSetting(ConType.AutoLoadReversalTxLog).Split(':');
                string   ip             = setting[0];
                int      port           = Convert.ToInt32(setting[1]);
                int      sendTimeout    = Convert.ToInt32(setting[2]);
                int      receiveTimeout = Convert.ToInt32(setting[3]);
                timer.Start();
                socketClient = new SocketClient.Domain.SocketClient(ip, port, sendTimeout, receiveTimeout);
                if (socketClient.ConnectToServer())
                {
                    byte[] resultBytes = null;
                    resultBytes = socketClient.SendAndReceive(dataByte);
                    timer.Stop();
                    log.Debug(m => m("4.[AutoLoadReversalTxLog][Receive]Back-End Response(TimeSpend:{1}ms): {0}", Encoding.ASCII.GetString(resultBytes), timer.ElapsedMilliseconds));
                    result = jsonWorker.Deserialize(resultBytes);
                }
                return(result);
            }
            catch (SocketException sckEx)
            {
                log.Error("[GetResponse]Send Back-End Socket Error: " + sckEx.Message + " \r\n" + sckEx.StackTrace);
                return(null);
            }
            catch (Exception ex)
            {
                log.Error("[GetResponse]Send Back-End Error: " + ex.Message + " \r\n" + ex.StackTrace);
                return(null);
            }
            finally
            {
                if (socketClient != null)
                {
                    socketClient.CloseConnection();
                }
            }
        }
 /// <summary>
 /// 送出沖正Txlog request到後台並取回 沖正Txlog response
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 protected override ALTxlog_Domain GetResponse(ALTxlog_Domain request)
 {
     ALTxlog_Domain result = null;
     SocketClient.Domain.SocketClient socketClient = null;
     try
     {
         System.Diagnostics.Stopwatch timer = new System.Diagnostics.Stopwatch();
         SocketClient.Domain.Utilities.NewJsonWorker<ALTxlog_Domain> jsonWorker = new SocketClient.Domain.Utilities.NewJsonWorker<ALTxlog_Domain>();
         byte[] dataByte = jsonWorker.Serialize2Bytes(request);
         log.Debug(m => m("3.[AutoLoadReversalTxLog][Send] to Back-End Data: {0}", Encoding.ASCII.GetString(dataByte)));
         string[] setting = ConfigLoader.GetSetting(ConType.AutoLoadReversalTxLog).Split(':');
         string ip = setting[0];
         int port = Convert.ToInt32(setting[1]);
         int sendTimeout = Convert.ToInt32(setting[2]);
         int receiveTimeout = Convert.ToInt32(setting[3]);
         timer.Start();
         socketClient = new SocketClient.Domain.SocketClient(ip, port, sendTimeout, receiveTimeout);
         if (socketClient.ConnectToServer())
         {
             byte[] resultBytes = null;
             resultBytes = socketClient.SendAndReceive(dataByte);
             timer.Stop();
             log.Debug(m => m("4.[AutoLoadReversalTxLog][Receive]Back-End Response(TimeSpend:{1}ms): {0}", Encoding.ASCII.GetString(resultBytes), timer.ElapsedMilliseconds));
             result = jsonWorker.Deserialize(resultBytes);
         }
         return result;
     }
     catch (SocketException sckEx)
     {
         log.Error("[GetResponse]Send Back-End Socket Error: " + sckEx.Message + " \r\n" + sckEx.StackTrace);
         return null;
     }
     catch (Exception ex)
     {
         log.Error("[GetResponse]Send Back-End Error: " + ex.Message + " \r\n" + ex.StackTrace);
         return null;
     }
     finally
     {
         if (socketClient != null)
         {
             socketClient.CloseConnection();
         }
     }
 }