Разное TCP соединение для каждого WebRequest.Create () - PullRequest
2 голосов
/ 19 октября 2011

У меня есть служба Windows .net, которая проверяет производительность сети, загружая файлы с сервера.Я использую (HttpWebRequest)WebRequest.Create(uri) для создания HTTP-запросов.

Эта услуга контролируется таймером.Когда интервал таймера относительно мал, HTTP-запросы блокируются сервером.

Глядя на анализатор пакетов, кажется, что TCP-соединение использовалось повторно.Как запросить «новое» TCP-соединение для каждого WebRequest?

Ответы [ 2 ]

3 голосов
/ 19 октября 2011

Попробуйте установить HttpWebReqeuest.KeepAlive на false.

1 голос
/ 19 октября 2011

Я полагаю, что вы сталкиваетесь с HTTP-поддержкой, поэтому вы должны как-то заставить WebClient не использовать его.Это отправляется как заголовок connection: keep-alive от клиента, и, если сервер поддерживает его, соединение сохраняется.Подробнее в вики: http://en.wikipedia.org/wiki/HTTP_persistent_connection

Так что, возможно, если вы отправите connection:close, вы получите новый сеанс TCP на каждый запрос.

...