Проблема с использованием httpClient.PostAsyn c Result = "{Еще не вычислено}" - PullRequest
0 голосов
/ 26 марта 2020

я пытаюсь загрузить файл, используя POST, обычно он работает хорошо, и у меня нет проблем, но есть случай, когда файл должен быть разделен на несколько частей для загрузки (это то, что сделано на стороне API, так метод в моем коде для загрузки файла такой же, как при обычной загрузке), когда я пытаюсь сделать это, я получаю этот ответ Id = 3129, Status = WaitingForActivation, Method = "{null}", Result = "{Not yet computed}" я думаю, потому что этот ответ занимает больше времени и, возможно, моя сторона не ждет, пока не будет готова, это код

var httpResponse2 = httpClient.PostAsync(url + "/" + api + "/" + coin + "/transaction/multiple-transaction-woc", content);
responseContent2 = await httpResponse2.Result.Content.ReadAsStringAsync();

когда он достигает responseContent2, он ломается, потому что Result is null

я пытался var httpResponse2 = httpClient.PostAsync(url + "/" + api + "/" + coin +"/transaction/multiple-transaction-woc", content).wait;, но он работает и с помощью await ломает его тоже.

когда я пользуюсь почтальоном, все работает отлично.

Извините за мой английский sh и спасибо за любую помощь.

1 Ответ

2 голосов
/ 26 марта 2020

Вы должны сначала дождаться фактического HTTP-вызова, а затем асинхронно обрабатывать любой контент.

Ваш окончательный код должен выглядеть примерно так:

var httpResponse2 = await httpClient.PostAsync(url + "/" + api + "/" + coin + "/transaction/multiple-transaction-woc", content);
responseContent2 = await httpResponse2.Content.ReadAsStringAsync();
...