У меня есть контроллер с Async Task , и я вызываю метод, используя wait . В методе портфель фондов читается из файла. Это должно произойти асинхронно. В идеале, конечно, все должно произойти асинхронно. Должен ли я написать await task.run (() => getportfolio) вместо await getportfolio , как это обычное?
[HttpGet("total-costs")]
public async Task GetTotalCosts()
{
try
{
decimal totalCosts = await _portfolioService.GetTotalCosts(false);
return Ok(totalCosts);
}
catch (ArgumentException ex)
{
return BadRequest(ex.Message);
}
}
< /code>
где < /p>
private readonly PortfolioService _portfolioService;
public PortfolioController(PortfolioService portfolioService)
{
this._portfolioService = portfolioService;
}
< /code>
internal async Task GetTotalCosts(bool calledFromTest)
{
Portfolio portfolio = await GetPortfolio(calledFromTest);
decimal total = portfolio.Funds.SelectMany(f => f.Transactions).Sum(t => t.TotalCost);
return decimal.Round(total, 2, MidpointRounding.AwayFromZero);
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... led-method