Asp. Net Core 3.1 return Файл с контроллера на новом MS Edge загружается вечно - PullRequest
0 голосов
/ 17 марта 2020

это всего лишь обработчик для загрузки данных Excel из базы данных, я даже пытался использовать отладчик, и все идет хорошо. На chrome или firefox этот файл появляется при загрузке, как только я нажимаю кнопку, но на новом MS Edge требуется от 10 до 20 или более секунд, чтобы начать загрузку? Почему ???

public async Task<FileResult> OnGetDownloadExcel(int id)
    {
        var inventarios = await _context.Localizations
                .Where(l => l.InventoryRecordId == id)
               .Select(ir => new
               {
                   ir.InventoryRecord.Id,
                   Armazem = ir.InventoryRecord.Warehouse.Name,
                   Colaborador = ir.InventoryRecord.User.Name,
                   ir.InventoryRecord.CreationDate,
                   ir.InventoryRecord.ClosedDate,
                   ir.InventoryRecord.Warehouse.Objective,
                   Resultado = (ir.InventoryRecord.Localizations.Sum(l => l.Precision) / ir.InventoryRecord.Localizations.Count()) * 100,
                   Localizacao = ir.Name,
                   ir.LabelsMissing,
                   ir.LabelsStored,
                   ir.Precision,
                   ir.Labels
               })
               .AsNoTracking()
               .ToListAsync();

        var comlumHeadrs = new string[]
         {
             "Id",
             "Armazém",
             "Colaborador",
             "Criado Em",
             "Finalizado Em",
             "Objectivo",
             "Resultado Final",
             "Localização",
             "Etiquetas Por Inventariar",
             "Etiquetas Inventariadas",
             "Precisão",
             "Referência",
             "Etiqueta Não Encontrada"
         };

        byte[] result;

        using (var package = new ExcelPackage())
        {
            // add a new worksheet to the empty workbook

            var worksheet = package.Workbook.Worksheets.Add("Inventário"); //Worksheet name
            using (var cells = worksheet.Cells[1, 1, 1, 13]) //(1,1) (1,6)
            {
                cells.Style.Font.Bold = true;
            }

            //First add the headers
            for (var i = 0; i < comlumHeadrs.Count(); i++)
            {
                worksheet.Cells[1, i + 1].Value = comlumHeadrs[i];
            }

            //Add values
            var j = 2;
            foreach (var item in inventarios)
            {
                if (item.Labels.Count() != 0)
                {
                    foreach (var etiqueta in item.Labels)
                    {
                        worksheet.Cells[$"A{j}"].Value = item.Id;
                        worksheet.Cells[$"B{j}"].Value = item.Armazem;
                        worksheet.Cells[$"C{j}"].Value = item.Colaborador;
                        worksheet.Cells[$"D{j}"].Value = item.CreationDate.ToString("dd-mm-yyyy");
                        worksheet.Cells[$"E{j}"].Value = item.ClosedDate.Value.ToString("dd-mm-yyyy");
                        worksheet.Cells[$"F{j}"].Value = item.Objective;
                        worksheet.Cells[$"G{j}"].Value = item.Resultado;
                        worksheet.Cells[$"H{j}"].Value = item.Localizacao;
                        worksheet.Cells[$"I{j}"].Value = item.LabelsMissing;
                        worksheet.Cells[$"J{j}"].Value = item.LabelsStored;
                        worksheet.Cells[$"K{j}"].Value = item.Precision * 100;
                        worksheet.Cells[$"L{j}"].Value = etiqueta.Reference;
                        worksheet.Cells[$"M{j}"].Value = etiqueta.Name;

                        j++;
                    }
                }
                else
                {
                    worksheet.Cells[$"A{j}"].Value = item.Id;
                    worksheet.Cells[$"B{j}"].Value = item.Armazem;
                    worksheet.Cells[$"C{j}"].Value = item.Colaborador;
                    worksheet.Cells[$"D{j}"].Value = item.CreationDate.ToString("dd-mm-yyyy");
                    worksheet.Cells[$"E{j}"].Value = item.ClosedDate.Value.ToString("dd-mm-yyyy");
                    worksheet.Cells[$"F{j}"].Value = item.Objective;
                    worksheet.Cells[$"G{j}"].Value = item.Resultado;
                    worksheet.Cells[$"H{j}"].Value = item.Localizacao;
                    worksheet.Cells[$"I{j}"].Value = item.LabelsMissing;
                    worksheet.Cells[$"J{j}"].Value = item.LabelsStored;
                    worksheet.Cells[$"K{j}"].Value = item.Precision * 100;
                    worksheet.Cells[$"L{j}"].Value = "";
                    worksheet.Cells[$"M{j}"].Value = "";

                    j++;
                }
            }
            result = package.GetAsByteArray();
        }

        return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", $"inventario{id}.xlsx");
    }

РЕДАКТИРОВАТЬ

Вот моя крайняя версия

Версия 80.0.361.66 (Официальная сборка) (64 -bit)

в любом случае, может быть, это не то место, чтобы спрашивать об этом, но я не знаю, где я могу сообщить о проблемах с Edge

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...