Temos um problema muito estranho que é recorrente em um site do cliente. Temos um aplicativo .NET hospedado em um servidor Web IIS (Win 2003), que é usado para clientes para executar o aplicativo usando IEExec.exe.
Descobrimos que um dos binários, o principal executável de nosso aplicativo (vamos chamá-lo de MyApp.exe), pode ser servido pelo IIS, mas se você o solicitar uma segunda vez dentro de alguns segundos, ele apenas fica lá esperando pela resposta HTTP que nunca chega. Todos os outros binários hospedados no IIS funcionam bem.
Os logs do IIS não relatam nenhum tipo de erro. Na verdade, eles relatam a segunda solicitação como bem-sucedida (código 200, mas com o código adicional 1236 - o que significa que o cliente desistiu).
O servidor não tem verificador de vírus. Nós verificamos e verificamos se o MyApp.exe não está corrompido. Se renomearmos MyApp.exe para um nome diferente, ele ainda terá problemas para fazer o download várias vezes em rápida sucessão, mas se usarmos o notepad.exe, renomeá-lo para MyApp.exe e colocar isso no servidor, o IIS o servirá sem problemas em tudo.
Estamos ficando sem ideias para o que poderia estar causando esse comportamento bizarro. Alguma sugestão? O que pode fazer com que o IIS seja interrompido indefinidamente ao tentar exibir um arquivo?