Проект Xamarin Forms с .Net Standard HttpClient не возвращает ответ от API - PullRequest
0 голосов
/ 22 января 2019

Прежде всего, этот вопрос не является дубликатом. Я нашел этот вопрос и этот ответ . Но это не решило мою проблему. Я пытался принять разрешение. Кажется, принято на API. Но приложение застряло в загрузке. Потому что у меня есть проблема, чтобы получить ответ от веб-API. Я ставлю точки останова. Но он не попадает ни в одну строку после SendAsync или PutAsync и исключений / ошибок. Он протестирован на почтальоне и вернул 200. Этот API-интерфейс также используется для веб-проекта, и он отлично работает.

Этот код работал раньше:

public async Task AcceptPermission(string Id)
{
    try
    {
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
        var request = new HttpRequestMessage(HttpMethod.Put, BaseAddress + "leave/response/" + Id + "/Accepted");

        var response = await client.SendAsync(request);
        var jsonResp = response.Content.ReadAsStringAsync().Result;
     }
     catch (Exception ex)
     {
         ...
     }
 }

Я попробовал это, взяв ссылку на другие вопросы:

  • Изменен базовый адрес http на https
  • Удалено. Результат из ответа
  • Добавлено ConfigureAwait (false)

Я изменил свой код с этим и тоже не работал:

public async Task<string> AcceptPermission(string Id)
{
     try
     {
         string uri = BaseAddress + "leave/response/" + Id + "/Accepted";
         client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
         HttpContent content = new StringContent(JsonConvert.SerializeObject(Id), Encoding.UTF8, "application/json");

         var response = await client.PutAsync(uri, content).ConfigureAwait(false);
         if (response.IsSuccessStatusCode)
         {
             ...
         }
         else
         {
             ...
         }
     }
     catch (Exception ex)
     {
         ...
     }
 }

Я не понимаю, что я не так сделал? Любая помощь очень полезна. Спасибо за вашу помощь.

...