HttpClient PostAsJsonAsync несовместим с Newtonsoft.Json
Что-то, что я только что обнаружил в своем приложении winforms
Мое приложение выполняет HTTP-вызов веб-службы API следующим образом
HttpClient _client = new HttpClient();
_client.Timeout = new TimeSpan(0, 3, 0);
_client.BaseAddress = new Uri("http://Myserver/MyApp");
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = _client.PostAsJsonAsync("api/Addin", newObject).Result;
Ничего особенного, но как только вы установите Newtonsoft.Json (V6.0.3) через Nuget
внезапно я получаю ошибку stackOverflow в строке кода HttpResponseMessage. удалите Newtonsoft, и проблема решена.
Проблема в том, что я должен был использовать библиотеку для сериализации / десериализации данных в другом месте в моей форме
Мой обходной путь - использовать другую библиотеку, я просто использую System.Runtime.Serialization.Json; но это все еще действительно странно, нет?
Я должен также добавить, что это dotnet v4.0 (не 4.5), и мое приложение представляет собой VSTO COM-объект, работающий в MsWord в качестве надстройки.
Я подозреваю, что ошибка может быть в Newtonsoft