远程服务器恢复421,c# - 远程服务器返回错误:(421)服务不可用,正在关闭控件连接 - 堆栈内存溢出...

我正在运行此代码,以便将大量文件通过ftp本地传输到另一台服务器。 问题是我定期收到错误远程服务器返回错误:(421)服务不可用,正在关闭控件连接。 代码是否存在问题,这是一种更快更有效地传输文件的更好方法。 所有文件都需要传输,因此我考虑了一个while循环并捕获错误,直到文件夹中的所有文件都已传输。 这是我得到的定期错误:

foreach (FileInfo file in files)

{

try

{

// Get the object used to communicate with the server.

FtpWebRequest request =

(FtpWebRequest)

WebRequest.Create(String.Format("{0}{1}/{2}", Host, destinationPath,

file.Name));

request.Method = WebRequestMethods.Ftp.UploadFile;

request.KeepAlive = false;

/* 20 mins timeout */

request.Timeout = 1200000;

request.ReadWriteTimeout = 1200000;

// This example assumes the FTP site uses anonymous logon.

request.Credentials = new NetworkCredential(Username, Password);

// Copy the contents of the file to the request stream.

byte[] fileContents = File.ReadAllBytes(file.FullName);

request.ContentLength = fileContents.Length;

using (Stream requestStream = request.GetRequestStream())

{

requestStream.Write(fileContents, 0, fileContents.Length);

}

//using (FtpWebResponse response = (FtpWebResponse) request.GetResponse())

//{

//}

if (deleteSourcePath)

{

File.Delete(file.FullName);

}

}

catch (Exception ex)

{

// Log.Warn("Error Moving Images", ex.Message);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值