Обработчик событий зависает при ожидании запроса от API - PullRequest
0 голосов
/ 06 апреля 2020

У меня проблемы с передачей идентификатора продукта клиенту API.

Это мой опубликованный контент, и он останавливается во время метода PutAsync. Похоже, что он не получает ответ от клиента.

С «await» тогда var будет HttpResponseMessage. На этом все останавливается, и мне приходится останавливать приложение.

Когда я удаляю await, код запускается для проверки, которая становится Task<HttpResponseMessage>, но product не публикуется, и response Статус становится WaitingForActivation.

using (var client = new HttpClient())
{
    // API base we're posting to
    client.BaseAddress = new Uri("https://localhost:10201");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    // add basic auth header
    string username = "username";
    string password = "password";
    string encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
    client.DefaultRequestHeaders.Add("Authorization", "Basic " + encoded);

    var entityContent = new StringContent(entityId, Encoding.UTF8, "application/json");

    #region product
    // <Product>
    if (entityType == "product")
    {
        var result = await client.PutAsync($"/api/products/{item.Id}/propagate", entityContent);
        ValidateResponse(result);
    }
}

Вот сообщение от моего API:

INFO 2020-04-06 11: 38: 05,893 [[product -api] .HTTP_Listener_Config.worker.18] org.mule.routing.ExpressionSplitter: выражение не соответствует типу>, который можно разделить: java .lang.String

Все I ДЕЙСТВИТЕЛЬНО нужно сделать, это отправить идентификатор продукта без тела . Что мне нужно сделать, чтобы это заработало?

...