We have a very strange problem that is recurring on a customer site. We have a .NET application hosted on an IIS web server (Win 2003), which is used for clients to run the application using IEExec.exe.
We have discovered that one of the binaries, the main executable for our app (let's call it MyApp.exe), can be served by IIS, but if you request it a second time within a couple of seconds, it just sits there waiting for the HTTP response which never arrives. All the other binaries hosted on IIS work fine.
The IIS logs do not report any kind of error. In fact, they report the second request as successful (200 code, but with the 1236 additional code - which means the client gave up).
The server has no virus checker. We have checked and double-checked that MyApp.exe is not corrupted. If we rename MyApp.exe to a different name, it still has problems downloading multiple times in quick succession, but if we take notepad.exe, rename it to MyApp.exe and put that on the server, then IIS serves it with no problem at all.
We are running out of ideas for what could be causing this bizarre behaviour. Any suggestions? What can cause IIS to hang indefinitely while trying to serve a file?