private void DisconnectEventHandler(object sender, DisconnectEventArgs args) { try { CurrentConnection.Disconnect(); //Global.Report.WriteAppLog(string.Format("ThreadId = {0} disconnected", args.ThreadId)); } catch { } }
private void ReceiveError(Exception e) { if (e is Hubble.Framework.Threading.MQAbortException) { if (_Args != null) { _Pool.ExecuteFinished(this); _Args.ReturnMsg = e; CurrentConnection.Disconnect(_ManagedThreadId); TcpServer.ReturnMessage(_Args); } } }
object ReceiveMessage(int evt, MessageQueue.MessageFlag flag, object data) { if (evt == (int)SQLClient.ConnectEvent.ExcuteSql) { try { _Args = data as MessageReceiveEventArgs; CurrentConnection currentConnection = new CurrentConnection( _Args.ConnectionInfo as ConnectionInformation); CurrentConnection.ConnectionInfo.QueryThread = this; _ManagedThreadId = this.ManagedThreadId; if (!_Args.QueryStoreProcedure) { int queryQueueWaitingTimeout = Global.Setting.Config.QueryQueueWaitingTimeout; if (queryQueueWaitingTimeout > 0) { TimeSpan timeSpan = DateTime.Now - _Args.StartTime; if (timeSpan.TotalSeconds > queryQueueWaitingTimeout) { throw new Hubble.Core.Query.QueryException("Timeout during sql was waiting in Query Queue."); } } } HubbleTask.ExcuteSqlMessageProcess(_Args); _Args = null; } catch (Exception e) { _Args.ReturnMsg = e; TcpServer.ReturnMessage(_Args); } finally { _Pool.ExecuteFinished(this); CurrentConnection.Disconnect(); } } return(null); }