【问题标题】:Visual Studio debugging stop immediately on file upload in mvc?Visual Studio调试在mvc中上传文件时立即停止?
【发布时间】:2019-09-20 07:26:07
【问题描述】:

所以我正在尝试使用 Visual Studio 2019 Enterprise 进入 .NET Core MVC。

我试图从微软自己的documentation 中遵循一个相当简单的例子。设置代码后,我有了他们给你的 MVC 模板项目。所以在“关于”页面上,我有以下控制器类AboutController.cs,方法是在微软网站上找到:

[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();
}

唯一的“大”区别是我返回视图,而不是“确定”,因为我对此并不真正感兴趣。我想修改我正在查看的视图,而不是转到一个全新的视图(也许我误解了 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

事实证明,调试器在这个特定实例中无法使用名为“Brave”的浏览器,这是我使用的铬浏览器(如果忘记提及)

【问题讨论】:

  • 如果方法中只有return View();,没有其他内容怎么办。它有什么作用?添加正在使用的 ASP.NET Core 版本可能也很有趣。
  • 使用 Visual Studio 在调试时自行设置的 IIS Express。我应该在事件查看器中具体查看哪里?
  • 刚刚在 Microsoft 尝试了代码,您的代码也一样,都按预期工作。尝试清空您的临时文件夹然后上传
  • 我认为这是这里提到的浏览器问题:developercommunity.visualstudio.com/content/problem/261622/…developercommunity.visualstudio.com/content/problem/556910/…。您是否尝试过使用其他浏览器查看是否也出现这种行为?
  • @RahulSharma 我并没有真正考虑过尝试其他浏览器。这是我的错。但它在边缘工作,所以这显然是一个浏览器问题。谢谢你。一旦它用完,你可以让它成为获得赏金的答案:) 我使用的是 Brave。

标签: c# asp.net-mvc asp.net-core


【解决方案1】:

这种行为具体归因于浏览器问题,而不是一般的 Visual Studio。根据this 文章和this 文章,在这种情况下使用 Brave 和 Yandex 等浏览器时,通常会观察到这种行为。有时甚至 Chrome 也会显示这种行为,但并不一致(至少这是我观察到的)。

一种可能的解决方案是更改您的浏览器类型以使用理想的浏览器,例如 Chrome、Firefox 或 Edge。

正如 cmets 中针对使用 Brave 浏览器的用户所指出的:

关闭(关闭)防护罩可停止崩溃。你可以做 单击 URL 右侧的盾牌图标即可。

【讨论】:

  • 我今天在使用 Edge 83.0.478.44 时遇到了这个问题。但它适用于 Firefox
  • 谢谢,我在使用Brave浏览器时遇到了这个问题,但在我使用Opera时就消失了。
  • 我在带有 .Net Core 3.1 和 VS 2019 的 Brave 浏览器上遇到了这个问题。谢谢
  • 天哪,谢谢你——这让我发疯了好几个小时!! /headdesk 它只是浏览器。问题是 w/Brave - 通过移动(返回)到 Chrome 来解决。谢谢。
  • 替代解决方案。我遇到了勇敢的这个问题。关闭(关闭)Shields 为我停止了崩溃。您可以通过单击 URL 右侧的盾牌图标来执行此操作。我在 MS PowerPlatform(制作和管理区域)中也遇到了勇敢的问题和身份验证,再次关闭屏蔽解决了这些问题。
猜你喜欢
  • 2016-08-16
  • 2014-01-16
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2017-11-26
  • 1970-01-01
相关资源
最近更新 更多