Да да, приходиться на нём кодить. Чего только не сделаешь, что бы писать софт для родного кпк, и приобщаться к опен-сорс сообществу(как закончу дописывать основные фичи, выложу софт, и собственно скажу, что это был за софт. Ибо автор, похоже, на него забил. Благо, сорцы выложил.).
.
Итак, ближе к делу. Отправлялся в программе http POST запрос. Всё бы ничего, но на строке
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(my_url); // ... Stream outStream = webRequest.GetRequestStream(); // <-- вот тут
запрос эпично обрывался, чего, конечно, быть не должно. Долгие поиски в гугле ничего не дали, а только выявили ещё несколько похожих проблем. Решил я посмотреть в дебагере, какую конкретно ошибку возвращает функция. И вот, что я увидел:
The remote server returned an error: (417) Expectation Failed
И, как ни странно, вбив текст это ошибки в гугл, я почти сразу нашел целых два решения. И, что бы наверняка, использую их оба:
System.Net.ServicePointManager.Expect100Continue = false; //... webRequest.ProtocolVersion = HttpVersion.Version10;
Первая часть, как я понял, включает какое-то хитрое ожидание, а вторая – принудительно задаёт использование HTTP 1.0 версии протокола.
.
Да, и ещё немного комментариев о Си Шарп (да, именно так читается C#).
Язык простой, код на нём писать легко и непринуждённо, даже если вы его видите впервые(как было со мной). Пляски с бубном есть, но в умеренных количествах, как везде. Особой магии пока не заметил.
Да, пока что помещу пост в раздел “etc”. Если вдруг мне уж очень понравиться си шарп, и понадобиться ещё несколько статей – так и быть сделаю отдельную категорию. А то больно у меня их много.
Похожие записи:
января 7, 2012 at 1:23
Это не хитрое ожидание, а отключение заголовка!