soitgoes / LoveSeat

Bringing CouchDB and .NET little closer
Other
96 stars 50 forks source link

Fix for running out of connections #29

Open Ian1971 opened 12 years ago

Ian1971 commented 12 years ago

This was because when the response was being read the response was not closed at the end. This meant that after 12xnumber cpu cores requests we were out of connections and just got timeouts.

soitgoes commented 12 years ago

Good catch. The only place it is needed though is in the GetResponsestring. I'll make the change e when I get to work

Ian1971 commented 12 years ago

I see, GetResponseStream closes the connection when the Stream closes.

nsainaney commented 12 years ago

The other place I can think of is ViewResult. Perhaps this should implement IDisposable and close the HttpWebResponse there.

Update: Oops. I see you're modifying the Extension class and not the CouchDatabase/ViewResult. If so, I'd recommend an optional argument (e.g. public static Document GetCouchDocument(this HttpWebResponse response, bool closeResponse=true)) so the extension methods don't carry the business logic of closing the connection.