Бложек теперь на old.mrThe.name. Следите за обновлениями.

Да да, приходиться на нём кодить. Чего только не сделаешь, что бы писать софт для родного кпк, и приобщаться к опен-сорс сообществу(как закончу дописывать основные фичи, выложу софт, и собственно скажу, что это был за софт. Ибо автор, похоже, на него забил. Благо, сорцы выложил.).
.

Итак, ближе к делу. Отправлялся в программе 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”. Если вдруг мне уж очень понравиться си шарп, и понадобиться ещё несколько статей – так и быть сделаю отдельную категорию. А то больно у меня их много.

Похожие записи:

Один комментарий к “Неожиданно, C#”

  1. анон Пишет:

    Это не хитрое ожидание, а отключение заголовка!

Оставить комменатрий: