Ftp 操作

System.Net.FtpClient



using System;using System.Net;using System.Net.FtpClient;using System.Threading;namespace Examples {    public static class BeginDeleteFileExample {        static ManualResetEvent m_reset = new ManualResetEvent(false);        public static void BeginDeleteFile() {            // The using statement here is OK _only_ because m_reset.WaitOne()
            // causes the code to block until the async process finishes, otherwise
            // the connection object would be disposed early. In practice, you
            // typically would not wrap the following code with a using statement.
            using (FtpClient conn = new FtpClient()) {
                m_reset.Reset();
                
                conn.Host = "localhost";
                conn.Credentials = new NetworkCredential("ftptest", "ftptest");
                conn.BeginDeleteFile("/path/to/file", new AsyncCallback(DeleteFileCallback), conn);

                m_reset.WaitOne();
                conn.Disconnect();
            }
        }        static void DeleteFileCallback(IAsyncResult ar) {
            FtpClient conn = ar.AsyncState as FtpClient;            try {                if (conn == null)                    throw new InvalidOperationException("The FtpControlConnection object is null!");

                conn.EndDeleteFile(ar);
            }            catch (Exception ex) {
                Console.WriteLine(ex.ToString());
            }            finally {
                m_reset.Set();
            }
        }
    }
}

你可能感兴趣的:(Ftp 操作)