У меня есть объект Browser Helper, написанный на C #, который отправляет HTTP-запрос HTTPWebRequest на мой сервер, когда пользователь нажимает кнопку в форме окна, и в нормальном случае это прекрасно работает. Однако, время от времени, я получаю BHO, который, кажется, сходит с ума и постоянно отправляет мне огромное количество HTTPWebRequests (около 50-100 в минуту). Единственный способ, которым я смог остановить это поведение - перезагрузить клиент своим ПК, часто пользователи даже закрывали IE, но POST продолжают работать.
Кто-нибудь когда-либо видел подобное поведение при использовании HTTPWebRequest? Почти кажется, что какая-то логика повторения в соединении сходит с ума, но я не думал, что в HTTPWebRequest был встроен какой-либо механизм повторов, так что это кажется маловероятным.
Я неправильно настраиваю соединение, и есть ли хорошая стратегия для предотвращения чего-то подобного?
Вот как я настраиваю соединение:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(myUrl);
webRequest.Timeout = 30000;
webRequest.Method = "POST";
webRequest.KeepAlive = false;
System.Net.ServicePointManager.Expect100Continue = false;
webRequest.ContentType = "text/xml";
webRequest.ContentLength = myData.Length;
using (StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream()))
{
requestWriter.Write(this.myData);
requestWriter.Close();
}