2017-01-05 5 views
2

Когда я отменяю запрос HTTPClient, скажем, при остановке отладки, соединение, кажется, где-то зависнет и замедлит всю мою сеть. Кажется, что это происходит не один или два раза, но это несколько раз замедляет работу всех устройств в моей сети. Единственное исправление, которое я нашел, это сбросить мой маршрутизатор.Отмененные запросы уменьшают скорость сети

using (HttpClient client = new HttpClient()) 
{ 
    var response = client.GetAsync(uri).Result; 

    if (response.IsSuccessStatusCode) 
    { 
     var responseContent = response.Content; 
     var responseString = responseContent.ReadAsStreamAsync(); 

     //stopped debugging here 
    } 
} 

Как я могу найти и закрыть эти соединения вручную или программно?

+0

Итак, это значительная загрузка? Другой конец, вероятно, по-прежнему отправляет данные, не подозревая, что вы повесили трубку. Внесите некоторую отмену, которая избавляет от всего, что нужно, до вытаскивания вилки. – spender

+0

@spender это не особенно большая загрузка. Я могу придумать программный способ сделать это. Я тоже искал ручной способ. _Edited оригинал post._ – Mike

+1

Возможно, если вы хотите использовать Fiddler или [TCPView] (https://technet.microsoft.com/en-us/tcpview), чтобы проверить, действительно ли это ваша машина, поддерживающая соединение. Я подозреваю, что сейчас это не в ваших руках, и это до вашего маршрутизатора. Изящное завершение ваших запросов - лучший способ продвижения вперед. – spender

ответ

0

This link многое помогло. Похоже, что многие люди столкнулись с этой проблемой и обнаружили, что загрузка Fiddler исправляет ее. Он предлагает много дополнительной информации о проблеме.