C# FTP服务恢复后FTP web请求超时异常

C# FTP服务恢复后FTP web请求超时异常,c#,ftp,webrequest,ftpwebrequest,system.net.webexception,C#,Ftp,Webrequest,Ftpwebrequest,System.net.webexception,我在调用第三方FTP服务器时遇到以下异常 System.Net.WebException操作已超时。-在System.Net.FtpWebRequest.GetResponse()中 我们已经问过第三方他们是怎么做的,他们说“FTP服务器在防火墙级别不可用” 以下是我们的代码: var _request = (FtpWebRequest)WebRequest.Create(configuration.Url); _request.Method = WebRequestMethods.Ftp.Do

我在调用第三方FTP服务器时遇到以下异常

System.Net.WebException操作已超时。-在System.Net.FtpWebRequest.GetResponse()中

我们已经问过第三方他们是怎么做的,他们说“FTP服务器在防火墙级别不可用”

以下是我们的代码:

var _request = (FtpWebRequest)WebRequest.Create(configuration.Url);
_request.Method = WebRequestMethods.Ftp.DownloadFile;
_request.KeepAlive = false;
_request.Timeout = configuration.RequestTimeoutInMilliseconds;
_request.Proxy = null;  // Do NOT use a proxy
_request.Credentials = new NetworkCredential(configuration.UserName, configuration.Password);

_request.ServicePoint.ConnectionLeaseTimeout = configuration.RequestTimeoutInMilliseconds;
_request.ServicePoint.MaxIdleTime = configuration.RequestTimeoutInMilliseconds;

try
{
    using (var _response = (FtpWebResponse)_request.GetResponse())
    using (var _responseStream = _response.GetResponseStream())
    using (var _streamReader = new StreamReader(_responseStream))
    {
        this.c_rateSourceData = _streamReader.ReadToEnd();
    }
}
catch (Exception genericException)
{
    throw genericException;
}
finally
{
   _request.Abort();
}
我们的应用程序是一个windows服务,所有资源都被释放,甚至FtpWebRequest也被中止

我们每小时都会呼叫第三方,当他们进行维护工作并使“FTP服务器在防火墙级别不可用”时,我们无法再呼叫。我们得到超时异常。 即使第三方服务再次可用,也会发生这种情况

唯一的解决方案是重新启动windows服务,以便能够再次成功调用


对此有何想法?

向我们展示有关异常的完整调用堆栈。更好的是,显示日志。不要调用
.Abort()
,它是用于异步操作的,您没有使用它。无法显示callstack或在PROD中启用日志记录,并且无法进行更改