连接上传文件从Azure到Amazon SFTP站点(WinSCP)不一致

时间:2015-10-05 15:13:22

标签: c# azure sftp winscp

我在StackOverflow网站上搜索了这个特定的问题,但没有运气。 有些项目很接近,但没有什么能解决我的问题。

我有一个C#应用程序,它使用最新的WinSCP(5.7.5)Nuget。 该应用程序在Azure服务器上运行,并尝试将多个文件上载到Amazon SFTP站点。

为了进行测试,我发送了3个文件,每个文件都有一个新连接。我通常得到1个连接并立即成功发送,其他两个暂停约10秒并给我一个连接超时错误。请注意,它似乎忽略了超时设置。

如果我在本地运行相同的应用程序(不在Azure中),则每次都会运行一致。

有什么想法吗?我真的无法访问亚马逊FTP站点来更改设置或任何内容。我尝试过被动/非被动模式,并在我的Azure服务器上禁用了防火墙。

    WinSCP.SessionRemoteException: Network error: Connection to "xxx-xx-xxx-xx-xxx.c
    ompute-1.amazonaws.com" timed out.
       at WinSCP.SessionLogReader.Read(LogReadFlags flags)
       at WinSCP.ElementLogReader.Read(LogReadFlags flags)
       at WinSCP.SessionElementLogReader.Read(LogReadFlags flags)
       at WinSCP.CustomLogReader.TryWaitForNonEmptyElement(String localName, LogRead
    Flags flags)
       at WinSCP.CustomLogReader.WaitForGroupAndCreateLogReader()
       at WinSCP.Session.Open(SessionOptions sessionOptions)
       at FTPTesting.Program.FtpFiles(String file, String destination) in c:\_git\as
    setbook.joel_sandbox\FTPTesting\Program.cs:line 47

1 个答案:

答案 0 :(得分:0)

好吧,伙计们,我做了一些测试。出于好奇,我创建了一台几乎相同的Azure机器,并将我的FTP应用程序移动到它。

完全没有错误。它运行了几个小时没有消息。我让它在第一台糟糕的Azure机器上运行,它仍然会产生间歇性错误。

我不太清楚如何分配azure资源,但是即使在停止和启动机器之后,旧机器上的错误仍然存​​在。新机器永远不会错误出错......

我让两台机器一夜之间运行。过了一会儿,旧机器退出抛出错误,并且从那时起就没有抛出错误。在经过这么长时间的错误之后,它可以自我修复吗?

我几周来一直在处理间歇性错误,所以昨天不仅仅是有趣的事情。