Je n'arrive pas à comprendre cela. Peu importe ce que je fais, je reçois toujours une erreur "417 Expectation failed". Partout où j'ai regardé dit que je dois me débarrasser de l'en-tête Expect pour le HttpWebRequest. La définition de la propriété statique ServicePointManager.Expect100Continue = false
ou la propriété d'instance sur la demande Web request.ServicePoint.Expect100Continue = false
ne se débarrasse jamais de l'en-tête. Je dois manuellement le mettre à null pour l'enlever. Quoi qu'il en soit, je reçois toujours l'erreur 417. Qu'est-ce que je rate?Expectation Échec lors de la tentative de mise à jour de l'état de Twitter
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()));
}
À quoi ressemblent les en-têtes? 417 est une réaction spécifique à un en-tête Expect:, donc si vous êtes sûr que vous n'en envoyez aucun, ce serait vraiment bizarre. – balpha
Juste avant d'appeler GetResponse(), la propriété "Expect" est null, et la collection headers ne contient pas l'en-tête "Expect". Je vais devoir vérifier avec un violoniste pour voir si ça continue à être mis là. Je ne peux toujours pas expliquer pourquoi ni l'appel à "Expect100Continue = false" ne fonctionne – Micah
DotNetOpenAuth a 417 intégré de gestion des erreurs de sorte que votre application ne devrait même pas gérer ce cas ou définir Expect100Continue sur false. Pouvez-vous activer la journalisation afin que nous puissions voir si cela se produit? http://dotnetopenauth.net:8000/wiki/CodeSnippets/Logging –