Я не могу показаться, что это видно. Независимо от того, что я делаю, я все время получаю сообщение об ошибке «417 Ожидание». Везде, где я смотрел, говорит, что мне нужно избавиться от заголовка Expect для HttpWebRequest. Установка статического свойства ServicePointManager.Expect100Continue = false
или свойство экземпляра в веб-запросе request.ServicePoint.Expect100Continue = false
никогда не избавляется от заголовка. Мне нужно вручную установить его в null, чтобы удалить его.Ожидание Сбой при попытке обновить статус твиттера
Независимо от того, что, я ВСЕГДА получаю ошибку 417. Что мне не хватает?
private static readonly MessageReceivingEndpoint UpdateStatusEndpoint
= new MessageReceivingEndpoint("http://twitter.com/statuses/update.xml", HttpDeliveryMethods.PostRequest);
public static XDocument UpdateStatus(ConsumerBase twitter, string accessToken, string message)
{
var data = new Dictionary<string, string>();
data.Add("status", message);
ServicePointManager.Expect100Continue = false; //Doesn't work
HttpWebRequest request = twitter.PrepareAuthorizedRequest(UpdateStatusEndpoint, accessToken, data);
request.ServicePoint.Expect100Continue = false; //setting here doesn't work either
//request.Expect is still set at this point unless I explicitly set it to null.
request.Expect = null;
var response = twitter.Channel.WebRequestHandler.GetResponse(request); //Throws exception
return XDocument.Load(XmlReader.Create(response.GetResponseReader()));
}
Как выглядят заголовки? 417 - это конкретная реакция на заголовок Expect: поэтому, если вы уверены, что не отправляете ни одного из них, это было бы странно. – balpha
Прямо перед вызовом GetResponse() свойство «Ожидание» равно null, а коллекция заголовков не содержит заголовок «Ожидание». Мне нужно будет проверить со скрипачом, чтобы увидеть, как-то все еще туда попадает. Я до сих пор не могу объяснить, почему не работает вызов «Expect100Continue = false» – Micah
DotNetOpenAuth имеет встроенную встроенную обработку ошибок, так что вашему приложению даже не нужно обрабатывать этот случай или установить значение Expect100Continue в false. Можете ли вы включить ведение журнала, чтобы мы могли убедиться, что это происходит? http://dotnetopenauth.net:8000/wiki/CodeSnippets/Logging –