【发布时间】:2018-09-28 00:28:52
【问题描述】:
我在 ASP.NET 中编写了一个站点,它使用FTPWebRequest 每 15 秒从 FTP 服务器下载一个文本文件。当我在我的电脑上运行它时,它工作得很好。当我将它上传到我们的服务器时,FTP 下载失败。也不例外,它只返回 0 个值。
我认为防火墙可能有问题,所以我禁用了 Windows 防火墙,并禁用了传出防火墙,同样的问题。尝试了主动和被动FTP。我是否可能需要更改 IIS 管理器中的某些设置?
在 Server 2012 R2 上运行 IIS 10,在与 Exchange 2016 相同的 VM 上。
部分代码:
public static string[] GetTXT()
{
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("FTP address");
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.UsePassive = false; //tried it with true as well
request.Credentials = new NetworkCredential("user", "pass");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string result = (reader.ReadToEnd());
}
【问题讨论】:
-
FTP 服务器日志中是否有任何帮助?
-
请澄清以下内容。问题标题说“无法连接到服务器”,但问题正文没有例外。它是哪一个? “0值”是否意味着它返回的值为零,或者什么都不返回,或者返回一个零长度的文件?
-
没有人,但在这种情况下您可以提供更多帮助,因为防火墙配置很复杂docs.microsoft.com/en-us/iis/publish/using-the-ftp-service/… 请使用被动模式,然后在服务器端打开必要的端口。您可能已尝试禁用防火墙,但我怀疑您是否禁用了正确的防火墙,因此请耐心等待并再次检查。
-
检查
write运行生产服务器的账户的权限。 -
在哪里可以找到这些 FTP 日志?我发现的所有日志都是 FTP 服务器日志,但就我而言,我是客户。当我打开我的站点时,我可以看到它尝试下载此 TXT 文件,但几秒钟后所有值都变为零。我想这是连接超时。我禁用的防火墙是内置的 windows 防火墙和我的 Endian 防火墙(路由器)上的防火墙。我不认为我可以禁用任何其他可能阻止我的流量的东西。目前我以域管理员身份运行该站点,它应该具有所有必需的权限。
标签: c# asp.net iis ftpwebrequest