Я только что получил это исключение (ProtocolViolationException) в своем приложении .NET 2.0 (работающем на стандартном эмуляторе Windows Mobile 6). Что меня смущает, так это то, что, насколько мне известно, я не добавлял никакого тела контента, если только я не сделал это как-то непреднамеренно. Мой код ниже (очень простой). Есть ли что-нибудь еще, что мне нужно сделать, чтобы убедить .NET, что это просто http GET?
//run get and grab response
WebRequest request = WebRequest.Create(get.AbsoluteUri + args);
request.Method = "GET";
Stream stream = request.GetRequestStream(); // <= explodes here
XmlTextReader reader = new XmlTextReader(stream);