Почему я не получаю никакого ответа от запроса rest

#c# #rest #asynchronous #httpclient

Вопрос:

Я пытаюсь сделать запрос к api rest.

Моя проблема в том, что ничего не происходит, я не хочу, чтобы меня вообще казнили.

Я не получаю никаких ошибок и вообще никакого ответа.

Пожалуйста, взгляните на мой код:

 using System; using System.Threading.Tasks; using System.Net.Http.Json; using System.Net.Http;  namespace RescoTrello {  class Program  {  static void Main(string[] args)  {  var url = "http://example.com";  var userName = "xxxx";  var passWord = "yyyy";  var credentials = "Basic "   Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(userName   ":"   passWord));   var client = new HttpClient(); // ideally this would be created from IHttpClientFactory  var request = new HttpRequestMessage(HttpMethod.Post, url);   request.Headers.Add("Authorization", credentials);   var jsonString = "{'Journal': 'Standard', 'Item':'23396', 'Qty':4 }";  request.Content = JsonContent.Create(jsonString);   var response = Task.Run(async () =gt;  {  var response = await client.SendAsync(request);  var result = await response.Content.ReadAsStringAsync();  Console.WriteLine(result);  });  Console.WriteLine(response.Status);  }  } }  

Комментарии:

1. Ваш код создается не так, как было опубликовано. Но ваша вероятная проблема заключается в том, что приложение завершит работу до завершения обмена данными с сервером. Вам это понадобится await Task.Run(...) , и это приведет к другим изменениям, которые вам необходимо внести.

2. Попробуйте добавить строку response.Wait() в конце.