Ошибка в HttpClient .NET MAUI при выполнении POST с теломAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка в HttpClient .NET MAUI при выполнении POST с телом

Сообщение Anonymous »

У меня возникла проблема с моим приложением .NET Maui, поэтому у меня есть класс HttpService, из которого я могу легко получить ответ на запрос Post/Get. Но когда я запускаю свое приложение на своем локальном устройстве Android, делаю «Опубликовать» и получаю тело, я получаю эту ошибку:

Код: Выделить всё

    {System.ObjectDisposedException: Cannot access a closed Stream.
at System.IO.MemoryStream.EnsureNotClosed()
at System.IO.MemoryStream.CopyToAsync(Stream destination, Int32 bufferSize, CancellationToken cancellationToken)
at Xamarin.Android.Net.AndroidMessageHandler.WriteRequestContentToOutput(HttpRequestMessage request, HttpURLConnection httpConnection, CancellationToken cancellationToken) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 458
at Xamarin.Android.Net.AndroidMessageHandler.DoProcessRequest(HttpRequestMessage request, URL javaUrl, HttpURLConnection httpConnection, CancellationToken cancellationToken, RequestRedirectionState redirectState) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 533
at Xamarin.Android.Net.AndroidMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 375
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at MyApp.Services.HttpService.PostAsync(String url, String body, String token, Dictionary`2 headers) in C:\Users\user\Documents\temp\MyApp\MyApp\Services\HttpService.cs:line 38}
Вот мой метод:

Код: Выделить всё

public async Task PostAsync(string url, string body = "", string? token = "", Dictionary headers = null)
{
HttpClient client = new();
try
{
var request = new HttpRequestMessage(HttpMethod.Post, url)
{
Content = new StringContent("", Encoding.UTF8, "application/json"),
};

if (headers != null)
{
foreach (var header in headers)
{
request.Headers.Add(header.Key, header.Value);
}
}

if (token != "") request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);

var result = await client.PostAsync(url, new StringContent("", Encoding.UTF8, "application/json"));
//var result = await client.SendAsync(request);

var test = await result.Content.ReadAsStringAsync();

if (result.StatusCode != HttpStatusCode.OK)
{
throw new Exception("Något gick fel");
}

return await result.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
throw ex;
}
}
Я пробовал и «SendAsync», и «PostAsync», но ни один из них не работает. Но SendAsync работает, если я отправляю HttpRequestMessage и закомментирую часть «Content = ...».
Он работает безупречно, если я отлаживаю его на своем компьютере с Windows. К сожалению, у меня больше нет устройств Android, на которых можно было бы протестировать его. Я попробую эмулятор и напишу результат.
**Тот же результат на эмуляторе.

Подробнее здесь: https://stackoverflow.com/questions/765 ... ith-a-body
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка в HttpClient .NET MAUI при выполнении POST с телом
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Httpclient post запрос с заголовками и телом
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Запрос на исправление C # HttpClient с телом?
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Почтовый запрос HTTPClient с заголовками и телом
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • .NET MAUI Android: HTTPClient Post Запросы задерживаются/медленно с несколькими быстрыми запросами (iOS работает нормаль
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»