/// <summary>
        /// 非密封类修饰用protected virtual
        /// 密封类修饰用private
        /// </summary>
        /// <param name="disposing"></param>
        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposed)
            {
                // 那么这个方法是被客户直接调用的,那么托管的,和非托管的资源都可以释放
                if (disposing)
                {
                    // 释放 托管资源
                    if (Connection != null)
                    {
                        Connection.Close();
                        Connection.Dispose();
                    }

                    if (_queue != null)
                    {
                        _queue.Dispose();
                    }

                    //if (queueWorkThread != null)
                    //{
                    //    try
                    //    {
                    //        queueWorkThread.Abort();
                    //        queueWorkThread = null;
                    //    }
                    //    catch { }
                    //}
                }

                //释放非托管资源

                disposed = true;
            }
        }
Пример #2
0
        /// <summary>
        /// 释放资源
        /// </summary>
        public void Dispose()
        {
            if (_entityQueue != null)
            {
                _entityQueue.Dispose();
            }
            _entityQueue = null;

            if (_mainToken == null)
            {
                return;
            }
            _mainToken.Cancel();
            _mainToken.Dispose();
            _mainToken = null;
        }