HttpWebRequest times out on second call

后端 未结 8 567
猫巷女王i
猫巷女王i 2020-11-29 03:45

Why does the following code Timeout the second (and subsequent) time it is run?

The code hangs at:

using (Stream objStream = request.GetResponse().Ge         


        
8条回答
  •  余生分开走
    2020-11-29 04:22

    On the heels of the previous answers, I wanted to add a couple more things. By default HttpWebRequest allows only 2 connections to the same host (this is HTTP 1.1 "niceness"),

    Yes, it can be overriden, no I won't tell you how in this question, you have to ask another one :) I think you ought to look at this post.

    I think that you are still not quite disposing of all your resources connected with the HttpWebRequest, so the connection pooling comes into play and that's the problem. I wouldn't try to fight the 2 connections per server rule, unless you really have to.

    As one of the posters above noted, Fiddler is doing you a bit of a disservice in this case.

    I'd add a nice finally {} clause after your catch and make sure that as the above post notes, all streams are flushed, closed and references to the request object are set to null.

    Please let us know if this helps.

提交回复
热议问题