I recently got into an issue on our Xamarin.Android apps.
- ServicePointManager.DefaultConnectionLimit has default values = 2
- For different reasons those 2 concurent connections get faulted and after this, every request to the server is getting timeout error, but it doesn't reach the server
- When setting up the DefaultConnectionLimit to 200, the bug it doesn't seem to reproduce. Therefor I'm thinking that the faulted connections are not cleaned up when they should.
I took a look into the ServicePointManager.cs from the referencesource and it looks like the "IdleServicePointTimeoutCallback" is missing from the mono code, but it seems to be exactly what may fix the problem.
How should I fix this?