Eu tenho uma situação inesperada aqui. Eu tenho um pequeno aplicativo que se conecta a um servidor WebDAV (Sharepoint) usando o cliente Windows WebDAV padrão (serviço WebClient, parte do recurso "experiência de área de trabalho"), percorrer várias pastas e baixar todos os arquivos PDF que encontrar.
O processo geral funciona. No entanto, estou tendo um problema estranho: quando executo o aplicativo diretamente do console do servidor ou da área de trabalho RDP, ele é executado em cerca de 10 segundos (supondo que não haja nenhum arquivo para download). Quando executo a mesma tarefa do mesmo usuário, mas de uma tarefa agendada, leva 5 minutos para concluir e produzir exatamente o mesmo resultado (os arquivos são baixados, se presentes).
Eu adicionei depuração ao aplicativo para ver onde a latência acontece e o resultado disso é que a operação de listar o diretório de arquivos parece levar uma eternidade, mesmo que o filtro de arquivo usado não faça com que nenhum arquivo seja retornado. O mesmo comportamento pode ser observado ao usar o ProcMon: a latência está dentro das chamadas do Win32 e do lado de dentro do aplicativo.
Agora, isso não é realmente crítico, já que o processo funciona, mas quanto mais diretórios forem adicionados, mais lento ele ficará e haverá um ponto em que terei que diminuir a frequência com que o script é executado para que ele possa realmente completo (ou altere o aplicativo para que ele comece a processar o diretório em paralelo).
Alguém poderia ter algum tipo de explicação por que o cliente WebDAV parece ser várias ordens de magnitude mais lento ao executar a partir de uma tarefa agendada?Caso seja importante, a conexão é feita com uma senha explícita toda vez e passa por SSL.