我正在尝试将文件上传到第三方FTP服务器。它大部分时间都是成功的,但有时会有一段时间可能会持续几分钟失败。当我调用GetRequestStream()
并且消息为Unable to connect to the remote server
且没有内部异常或其他信息时,会引发异常。我的请求超时设置为100000,但异常会在20秒左右提升。
我还在请求时记录了FTP服务器的IP地址,我看到相同的IP地址有时会工作,有时无法连接,所以我认为这不是防火墙问题。< / p>
此Upload
方法用作使用ASP.NET Web API进行API调用的一部分,用户通过此API调用来触发上传。
代码:
try
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(hostURI);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["FTPUser"], ConfigurationManager.AppSettings["FTPPW"]);
request.EnableSsl = true;
request.KeepAlive = false;
byte[] fileContents;
using (var readStream = System.IO.File.OpenRead(pathToFile))
{
fileContents = new byte[readStream.Length];
readStream.Read(fileContents, 0, fileContents.Length);
readStream.Close();
}
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();
}
catch (Exception e)
{
Debug.WriteLine("Message: " + e.Message + ", Stack Trace: " + e.StackTrace + ", Inner Exception: " + e.InnerException);
}
例外:
System.Net.WebException:无法连接到远程服务器 System.Net.FtpWebRequest.GetRequestStream()at PGServer.Helpers.FTPHelper.Upload(String pathToFile,String ftpFolderName,String newFileName)
答案 0 :(得分:0)
同样的错误。一年之后,ftp的安全性更高。最近它显示&#34; 无法连接到远程服务器 在System.Net.FtpWebRequest.GetRequestStream()&#34; 在这里我做了什么: 0卸载防病毒软件。 1重新启动ftp in.it工作的计算机