Зачем нужен Task.Run?

Наткнулась в своем проекте на метод который отправляет сообщение (не мой, код не полный). Никак не могу понять зачем здесь нужен Task.Run.Метод уже является асинхронным. Разве здесь это необходимо?

public async Task<Response> SendScheduledDynamicMessages(List<SendSmsDto> smsDto)
    {
        try
        {
            for (int i = 0; i < smsDto.Count; i++)
            {
                var sms = smsDto[i];
                var serialized = System.Text.Json.JsonSerializer.Serialize(sms);
                _loggerManager.LogWarn($"[bug-unwanted-sms] {i}: {serialized}");
            }
        } catch (Exception ex)  {
            _loggerManager.LogError("error on log serialization");
            _loggerManager.LogError(ex.Message);
        }
        _loggerManager.LogWarn($"[bug-unwanted-sms] to:");

        try
        {

           ,,,,,,,,
            foreach (var sms in smsDto.Where(sms => !string.IsNullOrEmpty(sms.PhoneNumber)))
            {

                sms.UserId = new Guid("123456").ToString();
                sms.UserName = "Админ";
                await Task.Run(async () =>
                {


                    if (sms.PhoneNumber.Length is < 12 or > 12)
                    {
                        var useSms = new Entities.Models.Sms()
                        {
                            Id = new Guid(),
                            Text = sms.Text,
                            Status = MessageStatus.Undeliverable,
                            CreateDate = DateTimeOffset.UtcNow,
                            UserId = new Guid("123456"),
                            PhoneNumber = sms.PhoneNumber,
                        };

                        if (useSms != null)
                        {
                            _loggerManager.LogError($"Sending message to: {useSms.PhoneNumber}");
                            await CreateSmsAsync((useSms));
                        }

                    } .......

порекомендуйте пожалуйста что будет оптимальнее использовать здесь


Ответы (0 шт):