Xamarin + RestSharp + .Net Core Web API - значение не может быть пустым. Имя параметра: src

У меня есть WebAPI в .NET Core 2.1 e. Я использую RestSharp для доступа к API. Когда я отправляю запрос (POST), я всегда получаю в ответ следующее сообщение:


{System.Net.WebException: ошибка при получении потока ответа (ReadAsync): значение ReceiveFailure не может быть нулевым. Имя параметра: src ---> System.ArgumentNullException: значение не может быть нулевым. Имя параметра: src в System.Net.HttpWebRequest + d__2411[T].MoveNext () [0x000ba] in <b78695579ed9422b8bc80218eeda782c>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1 + ConfiguredTaskAwaiter [TResult] .GetResult () [0x00000] в <43dbbdc147f2482093d8409abb04c233>: 0 в System.Net.WebResponseStream + d__48.MoveNext () [0x00253] в: 0 --- конец внутреннего стека исключений .Net.WebConnectionStream.Read (буфер System.Byte [], смещение System.Int32, количество System.Int32) [0x00077] в: 0 в RestSharp.Extensions.MiscExtensions.ReadAsBytes (вход System.IO.Stream) [0x0001f] в <4b0c1fc6e5a94482990701acc6dec8b3>: 0 в RestSharp.Http.ProcessResponseStream (System.IO.Stream webResponseStream, RestSharp.HttpResponse ответ) [0x0000e] в <4b0c1fc6e5a94482990701acc6dec8b3>: 0 в RestSharp.Http.ExtractResponseData (RestSharp.HttpResponse ответ, System.Net.HttpWebResponse webResponse) [0x0004c] в <4b0c1fc6e 5a94482990701acc6dec8b3>: 0 в RestSharp.Http + <> c__DisplayClass20_0.b__0 (System.Net.HttpWebResponse WebResponse) [0x00001] в <4b0c1fc6e5a94482990701acc6dec8b3>: 0 в RestSharp.Http.GetRawResponseAsync (результат System.IAsyncResult, System.Action1[T] callback) [0x00050] in <4b0c1fc6e5a94482990701acc6dec8b3>:0 at RestSharp.Http.ResponseCallback (System.IAsyncResult result, System.Action1 [T] обратный вызов) [0x0005a] в <4b0c1fc6e5a94482990701acc6dec8b3>: 0}


Предыдущая версия моей службы (.NET Framework 4.7) работала, а моя новая - нет. Я проверил URL-адрес, и это нормально, служба работает на Swagger и Postman, и у меня есть сертификат SSL, настроенный на сервере, но в приложении я продолжаю получать такое сообщение.

Моя служба размещена в Microsoft Azure.

Кто-нибудь может мне помочь?

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
999
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо. Я решил.

У меня был следующий код:

IRestRequest request = new RestRequest(method, Method.POST);

request.AddParameter("SampleKey", "SampleValue");

Я не знаю, почему он работал с .Net Framework WebApi, но не работает с .Net Core WebApi.

Я мог бы решить, используя приведенный ниже код:

IRestRequest request = new RestRequest(method, Method.POST);

request.AddJsonBody(objBody);

С новым методом RestSharp отвечает за сериализацию моего объекта.

Сейчас он работает.

Привет, у меня такая же проблема, но сервер использовал SSO Identification 4, он не поддерживает входной json. Не могли бы вы найти другое решение?

Tony Pham 21.11.2018 05:08

Привет, Тони. Несколько дней назад у меня была проблема, похожая на вашу, когда я обновил свою версию RestSharp с 106.4.2 до 106.5.4. Я сделал более раннюю версию (до 106.4.2), и вызовы снова вернулись к работе. Какую версию ты используешь?

Rafael Botelho 21.11.2018 17:15

Другие вопросы по теме