У меня есть задача расписания, которая создает веб-запрос. Все это прекрасно работает. Однако внезапно я получаю следующий журнал ошибок.Получение ошибки 417 при использовании webrequest
12/05/2010 20:21:17 Отказ чтения XML- System.Net.WebException: Удаленный сервер возвратил ошибку: (417) не соответствует ожидаемому. в System.Net.HttpWebRequest.GetResponse() в DelegateImport.Update.UpdateLiveSite (String, String delegateId badgeId) в DelegateImport.Rss.RssReader()
Вот код делает веб-запрос
WebRequest request = WebRequest.Create (uri);
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
request.Timeout = 30000000;
Stream dataStream = request.GetRequestStream();
dataStream.Write (byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine (((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader (dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine (responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
я пытался, что, как это так, но не повезло - System.Net.ServicePointManager.Expect100Continue = ложный; Запрос WebRequest = WebRequest.Create (uri); – frosty
Любая вероятность, что раньше в вашем коде говорилось с тем же URL до установки этого свойства? ServicePointManager повторно использует ServicePoints, поэтому перед выполнением любых запросов необходимо сначала установить свойство (например, при запуске приложения). –
спасибо, eric, я уверен, что вы правы. Нужно быстро исправить, поэтому просто использовать «получить» не идеально, но видел меня через :) – frosty