Search code examples
c#.netwebresponsegetresponselockup

WebRequest.GetResponse locks up?


When writing the below my code locks up on GetResponse. Why?

        try
        {
            WebRequest myWebRequest = WebRequest.Create(strURL);
            WebResponse myWebResponse = myWebRequest.GetResponse();
            //more code here

Solution

  • This usually happens if you've made several requests to the same host, and not disposed of the WebResponse.

    The default connection management settings only allow 2 (or maybe 4, I can't remember) open connections to the same host at a time. If you really need to change this, use the <connectionManagement> app.config element - but usually you'll be fine just disposing of WebResponse:

    try
    {
        WebRequest myWebRequest = WebRequest.Create(strURL);
        using (WebResponse myWebResponse = myWebRequest.GetResponse())
        {
            //more code here