/// <summary>
        /// Release resources.
        /// </summary>
        /// <param name="disposing">If disposing equals true, Managed and unmanaged resources are disposed.
        /// if false, Only unmanaged resources can be disposed.</param>
        protected override void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    //Release managed resource.
                    if (transport != null)
                    {
                        transport.Dispose();
                        transport = null;
                    }
                }

                //Note disposing has been done.
                disposed = true;
            }
        }