C# 无法从免费Azure应用程序服务连接到远程SFTP服务器

C# 无法从免费Azure应用程序服务连接到远程SFTP服务器,c#,azure-web-app-service,C#,Azure Web App Service,我有一个Asp.Net核心网站在本地运行良好,我能够连接到SFTP服务器并获取文件。但一旦我部署到Azure应用程序服务,尝试建立连接就会超时 我得到的例外是 2019-09-03 10:37:28.7942||ERROR|ExclusiveCard.Services.SFTPProvider|Renci.SshNet.Common.SshOperationTimeoutException: Session operation has timed out at Renci.SshNet.S

我有一个Asp.Net核心网站在本地运行良好,我能够连接到SFTP服务器并获取文件。但一旦我部署到Azure应用程序服务,尝试建立连接就会超时

我得到的例外是

2019-09-03 10:37:28.7942||ERROR|ExclusiveCard.Services.SFTPProvider|Renci.SshNet.Common.SshOperationTimeoutException: Session operation has timed out
   at Renci.SshNet.Session.WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout)
   at Renci.SshNet.Session.WaitOnHandle(WaitHandle waitHandle)
   at Renci.SshNet.Session.Connect()
   at Renci.SshNet.BaseClient.Connect()
   at ExclusiveCard.Services.SFTPProvider.TestConnection() in SFTPProvider.cs:line 237 Renci.SshNet.Common.SshOperationTimeoutException: Session operation has timed out
   at Renci.SshNet.Session.WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout)
   at Renci.SshNet.Session.WaitOnHandle(WaitHandle waitHandle)
   at Renci.SshNet.Session.Connect()
   at Renci.SshNet.BaseClient.Connect()
我使用的代码是

SftpClient sftpClient = null;
    try
    {
        sftpClient = new SftpClient("servaer", 2222, "ExclusiveDev", "password");
}
    catch (Renci.SshNet.Common.SshOperationTimeoutException ex)
    {
        Console.WriteLine(ex.ToString());
    }
    catch (Exception e)
    {
        Console.WriteLine(e.ToString());
    }
我使用了Renci.SshNet.Async version=“1.4.0”包。此代码在本地运行良好,但在部署Azure应用程序服务时失败

非常感谢您的帮助。
谢谢。

听起来您已经将ASP.NET核心应用部署到Windows上的Azure应用服务,并且它正在尝试从Windows上的Azure应用服务连接远程SFTP服务器

因此,我确信它永远不会像您预期的那样在Windows系统的Azure应用程序服务上正常工作,因为Azure Web App sandbox有一个网络限制来限制套接字连接的建立,如下所示


因此,我建议您可以尝试重建应用程序以将其部署到。

两端的防火墙?能否从Kudu控制台切换服务器?有关更多详细信息,请参阅。