现在的位置: 首页 > 综合 > 正文

C#开发FTP的一点总结

2012年12月22日 ⁄ 综合 ⁄ 共 649字 ⁄ 字号 评论关闭

      总的来说,C#提供了FTP很简单的方法,封装好的FtpWebRequest和FtpWebResponse,使得开发FTP模块很简单。但是封装好之后许多自定义化定制会有些问题,此处不具体详述。下面看期间遇到的一些问题:

try{
            this.ftpUri = new Uri(ftpPath);
            this.webrequest = (FtpWebRequest)WebRequest.Create(ftpUri);

            if ((bool)radioButton_Binary.IsChecked)
            {
                webrequest.UseBinary = true;
            }
            else
            {
                webrequest.UseBinary = false;
            }

            webrequest.Credentials = new NetworkCredential(ftpConfig.ftpUserName, ftpConfig.ftpPasswd);
            }

上面代码为FTP连接初始化的内容。webrequest.Method = WebRequestMethods.Ftp.UploadFile;Method指示进行何种FTP操作,但是在FTP封装的时候每次进行操作都要进行上述代码操作,
FtpWebRequest并没有提供一种会话保持机制(或者提供了,笔者没有找到?求惑),没有办法像一些FTP工具一样连接后自动保持会话直至超时,每次进行NetworkCredential是一种很不爽的操作。

PS文件上传时可以使用delegate时UI保持活动状态。多个文件上传使用多线程为佳。

抱歉!评论已关闭.