Сейчас я не могу понять разницу между асинхронным и синхронизирующим выполнением кода в API.
Мне хотелось бы увидеть пример использования асинхронного ожидания в C#, который бы ясно показал мне, почему это хорошо.< /p>
Я попытался создать простой проект консольного приложения, который имитировал бы вызов API.
Код: Выделить всё
using System.Threading.Tasks;
namespace TestAppConsole
{
internal class Program
{
public static async Task Main()
{
var asyncProcessor = new AsyncDataProcessor();
await asyncProcessor.ProcessDataAsync();
}
}
}
Код: Выделить всё
using System;
using System.Threading.Tasks;
namespace TestAppConsole
{
public class AsyncDataProcessor
{
public async Task ProcessDataAsync()
{
var api1Data = await GetDataFromApi1Async();
var api2Data = await GetDataFromApi2Async();
var result = Process(api1Data, api2Data);
Console.WriteLine(result);
}
private async Task GetDataFromApi1Async()
{
// Simulate an asynchronous API call
await Task.Delay(2000);
return "Data from API 1";
}
private async Task GetDataFromApi2Async()
{
// Simulate another asynchronous API call
await Task.Delay(2000);
return "Data from API 2";
}
private string Process(string data1, string data2)
{
// Simulate data processing
return $"Processed: {data1} and {data2}";
}
}
}
Explain to me, please, how can I see the difference between async and sync code in WebAPI?
Or what I've done wrong in my example, so it runs sync instead of async?
Источник: https://stackoverflow.com/questions/781 ... await-in-c
Мобильная версия