none
Erro "A conexão subjacente estava fechada erro inesperado em um recebimento", ao transferir arquivo para FTP em VM RRS feed

  • Pergunta

  • O problema é o seguinte, configurei um FTP passivo em uma VM, o FTP está funcionando, para arquivos pequenos a transferência ocorre normalmente, mas para arquivos grandes, ocorre o erro "A conexão subjacente estava fechada erro inesperado em um recebimento".

    Verificando os logs do IIS, vejo o fluxo no FTP foi feito corretamente, inclusive o arquivo é enviado por completo, no log consta o status 226 (sucesso), agora verificando o log local no app.config ( trace em System.Net) o status 226, não é registrado, e a conexão é fechada como ociosa.

    Já verifiquei a configuração das portas no Firewall da maquina e no portal do Azure, estão aparentemente corretas, tendo em vista que arquivo pequenos são transferidos sem problema.

    Aparentemente alguma coisa está interrompendo a conexão. A maquina é Windows Server 2012 R2, com IIS 8.

    sexta-feira, 8 de janeiro de 2016 19:41

Respostas

  • A questão não é o tamanho dos arquivos tendo em vista que os mesmos, são transferidos com sucesso pra maquina virtual, ao pesquisar achei este artigo que explica sobre o Time out do SLB do Azure, como a transferência não ocorre na porta 21,  a mesma fica inativa, então a conexão era fechada, causando o erro.

    Desta forma é necessário manter a porta ativa usando essa linha código:

    System.Net.ServicePointManager.SetTcpKeepAlive(true, 30000, 20000);

    O artigo e este: 

    http://blogs.msdn.com/b/mast/archive/2013/12/13/setting-up-a-passive-ftp-server-in-windows-azure-vm.aspx

    • Marcado como Resposta Dervanil Junior segunda-feira, 11 de janeiro de 2016 10:12
    segunda-feira, 11 de janeiro de 2016 10:12

Todas as Respostas