예제 #1
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpDataTransferException(string message, FtpResponse ftpResponse)
     : base(message, ftpResponse)
 {
 }
예제 #2
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpResumeNotSupportedException(FtpResponse ftpResponse)
     : base("Data transfer error: server does not support resuming.", ftpResponse)
 {
 }
예제 #3
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpServerDownException(string message, FtpResponse ftpResponse)
     : base(message, ftpResponse)
 {
 }
예제 #4
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpCommandException(string message, FtpResponse ftpResponse)
     : base(message, ftpResponse)
 {
 }
예제 #5
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpAuthenticationException(string message, FtpResponse ftpResponse)
     : base(message, ftpResponse)
 {
 }
예제 #6
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpServerDownException(FtpResponse ftpResponse)
     : this("FTP service was down.", ftpResponse)
 {
 }
예제 #7
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpInvalidResponseException(string message, FtpResponse ftpResponse)
     : base(message, ftpResponse)
 {
 }
예제 #8
0
파일: FtpExceptions.cs 프로젝트: avs009/gsf
 internal FtpExceptionBase(string message, FtpResponse ftpResponse)
     : base(message)
 {
     m_ftpResponse = ftpResponse;
 }
예제 #9
0
        /// <summary>
        /// Refresh response from control channel.
        /// </summary>
        public void RefreshResponse()
        {
            lock (this)
            {
                m_lastResponse = new FtpResponse(m_connection.GetStream());
            }

            foreach (string s in m_lastResponse.Respones)
            {
                m_sessionHost.OnResponseReceived(s);
            }
        }
예제 #10
0
        /// <summary>
        /// Connects the <see cref="FtpControlChannel"/>.
        /// </summary>
        public void Connect()
        {
            m_connection.Connect(m_server, m_port);

            try
            {
                m_lastResponse = new FtpResponse(m_connection.GetStream());

                if (m_lastResponse.Code != FtpResponse.ServiceReady)
                    throw new FtpServerDownException("FTP service unavailable.", m_lastResponse);
            }
            catch
            {
                Close();
                throw;
            }
        }
예제 #11
0
        /// <summary>
        /// Releases the unmanaged resources used by the <see cref="FtpControlChannel"/> object and optionally releases the managed resources.
        /// </summary>
        /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        protected virtual void Dispose(bool disposing)
        {
            if (!m_disposed)
            {
                try
                {
                    // This will be done regardless of whether the object is finalized or disposed.

                    if (disposing)
                    {
                        m_lastResponse = null;

                        if (m_connection != null)
                            m_connection.Close();
                        m_connection = null;
                    }
                }
                finally
                {
                    m_disposed = true;  // Prevent duplicate dispose.
                }
            }
        }