【问题标题】:Even the first line of .net core controller is not executed连第一行.net核心控制器都没有执行
【发布时间】:2021-04-16 17:36:16
【问题描述】:

我完全迷路了,我什至不知道如何调试这个东西。

所以我创建了一个控制器:

[HttpGet("{id}")]
public async Task<ActionResult<GlistaUserDTO>> GetGlistaUserAsync(int id)
{
    var glistaUserBLModel = await _userBL.GetGlistaUserAsync(id); // <--- breakpoint here
    var glistaUserDTO = _mapper.Map<GlistaUserDTO>(glistaUserBLModel);

    return glistaUserDTO;
}

我正在使用 swagger 来测试它。输入是一些随机整数,控制器第一行的断点应该暂停执行。但是,它甚至没有到达断点。大摇大摆的页面闪烁(我猜它会刷新或其他),就是这样。我没有收到服务器响应。

我还有其他(不是 GET 而是 POST)控制器可以正常工作。

既然它确实执行,显然甚至没有到达控制器,还有什么其他方法可以调试它?

【问题讨论】:

  • 您需要身份验证。这就是 401 的意思
  • @RichardHubley 你是对的。 [AllowAnnonymous] 解决了一切。救命稻草!如果您愿意发布答案,我可以接受。

标签: c# api .net-core


【解决方案1】:

HTTP 状态码 401 表示需要身份验证。这就是您没有进入任何代码行的原因。

提供正确的 Bearer 令牌,或使用属性 [AllowAnnonymous] 应该可以让您到达断点。

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 2018-06-02
    • 2019-09-21
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 2021-07-14
    • 2023-03-20
    相关资源
    最近更新 更多