EDIT: I realized that the answer below corresponds to the exact opposite situation when the first request works and the others do not. However, this is still important - you really have to get rid of your answers. It would also be useful if you also report an error message when reporting an error ...
In order to understand what is happening here, you should really use something like WireShark so that you can see if the problem is that the request is being made, but is not responding to it, or not even being done.
I wonder if the problem really is that it resolves the proxy server or something like that ... and enough time to resolve it before the second request expires. Try to increase timeouts. Again, this should be visible through WireShark.
You do not get rid of the answer on the Internet, so the connection pool for the second request is timed out, waiting for the connection to return.
Put the WebResponse part in the using statement, and you will probably find that everything is working fine:
using (WebResponse myHttpWebResponse = myHttpWebRequest.GetResponse()) { }
This suggests that you are really doing something with the answer, of course. Otherwise, you could simply write:
myHttpWebRequest.GetResponse().Dispose();
:)
Jon skeet
source share