ServicePointManager Мониторинг HTTP-запросов - PullRequest
3 голосов
/ 23 сентября 2011

Я работаю с приложением, которое отправляет сотни HTTP-запросов в минуту на разные URI. Есть ли способ контролировать соединения, созданные приложением? Я обнаружил, что ServicePointManager отлично подходит для проверки конкретного домена, но для его ограничения требуется URI. Мои проблемы были бы решены, если бы ServicePointManager раскрыл список всех соединений, которые в настоящее время устанавливаются, и их число одновременных соединений.

   Uri uri = new Uri("http://www.google.com");
   ServicePoint sp = ServicePointManager.FindServicePoint(uri);

Почему я хочу это сделать? Я пытаюсь диагностировать исключения тайм-аута для запросов, которые имеют 30 секунд для завершения и вернуть простой JSON. (Тайм-аут не происходит каждый раз при каждом запросе) Кажется, что не должно быть причины для тайм-аута. Возможно, у меня заканчиваются доступные соединения, потому что я превысил 96, которые у меня есть в ServicePointManager, и это мое узкое место. Хотя вряд ли, это единственное, что я могу придумать прямо сейчас. Предложения?

1 Ответ

1 голос
/ 15 декабря 2011

Что вы сейчас используете? Монитор производительности Windows?

JPSanders в своем превосходном посте в блоге на ServicePointManager предлагает использовать Netmon

...