Отладка Visual Studio немедленно останавливается при загрузке файла в MVC? - PullRequest
5 голосов
/ 20 сентября 2019

Поэтому я пытаюсь войти в .NET Core MVC с помощью Visual Studio 2019 Enterprise.

Я попытался следовать довольно простому примеру из собственной документации Microsoft .После настройки кода у меня есть шаблон проекта, который они дают вам с MVC.Итак, на странице «О программе» у меня есть следующий класс контроллеров AboutController.cs с методом, найденным на веб-сайте Microsoft:

[HttpPost("UploadFiles")]
public async Task<IActionResult> Post(List<IFormFile> files)
{
    long size = files.Sum(f => f.Length);
    string filePath = Path.GetTempFileName();

    if (files.Count > 0)
    {
        IFormFile file = files[0];
        if (file.Length > 0)
        {
            using (FileStream stream = new FileStream(filePath, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }
        }
    }

    return View();
}

Единственное «большое» отличие состоит в том, что я возвращаю представление, а не «Ok».«потому что я не очень заинтересован в этом.Я хочу изменить представление, которое я смотрю, чтобы не перейти к совершенно новому представлению (может быть, я неправильно понимаю, как работает MVC?).

Теперь мой HTML выглядит следующим образом:

<form method="post" enctype="multipart/form-data" asp-controller="About" asp-action="Post">
    <div class="form-group">
        <div class="col-md-10">
            <p>Upload one image using this form:</p>
            <input type="file" name="files">
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-10">
            <input type="submit" value="Upload">
        </div>
    </div>
</form>

Это создает форму, также как видно из их документации, связанной ранее.Когда я нажимаю кнопку «Обзор», чтобы найти изображение, оно работает нормально, а когда я нажимаю «Открыть», чтобы загрузить его, отладчик Visual Studio немедленно останавливается.Никаких ошибок, где я могу видеть.

Есть идеи, что вызывает такое поведение?

Обновление 1

Похоже, что просто вызывая return View ();демонстрирует то же поведение, и Nuget говорит, что это AspNetCore.Mvc 2.1.1

обновление 2

Оказывается, отладчик не работает в данном конкретном случае с браузером под названием "Храбрый », который я использую в качестве хром-браузера (о котором я забыл упомянуть)

1 Ответ

2 голосов
/ 23 сентября 2019

Такое поведение, в частности, было связано с проблемой браузера, а не Visual Studio в целом.Согласно этой статье и этой статье, такое поведение обычно наблюдается при использовании таких браузеров, как Brave в данном случае и Яндекс.Иногда даже Chrome демонстрирует это поведение, но оно не соответствует (по крайней мере, это то, что я наблюдал).

Возможным решением будет изменение типа браузера для использования идеальных браузеров, таких как Chrome, Firefox или Edge.

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