请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我百思不得其解

当我用app.UseStatusCodePagesWithReExecute这个中间件处理404的时候,正常访问Test控制器,都正常,logger为什么会有404的消息?

这是要访问的Test控制器代码:

[Route("test")]
public class TestAController : Controller
{
    private readonly ILogger<TestAController> logger;
    
    public TestAController(ILogger<TestAController> logger)
    {
        this.logger = logger;
    }

    public IActionResult Index()
    {
        logger.LogInformation($"已经入控制器中的“Index”方法。");
        logger.LogInformation("用于向客户展示用于测试视图。");
        return Ok();
    }
}

这是处理404错误的Error控制器代码:

[Route("error")]
public class ErrorController : Controller
{
    private readonly ILogger<ErrorController> logger;
    
    public ErrorController(ILogger<ErrorController> logger)
    {
        this.logger = logger;
    }

    public IActionResult Index()
    {
        var statusCode = Response.StatusCode;
        logger.LogInformation($"{statusCode}");
        return Ok();
    }
}

这是 app.UseStatusCodePagesWithReExecute 中间件的代码:

app.UseStatusCodePagesWithReExecute("/error");

然后是在访问 /test 之后的 Logger 消息:
图片描述
如何解决?

正在回答 回答被采纳积分+3

插入代码

1回答

阿莱克斯刘 2023-05-05 14:29:55
不好意思这么晚才回复这个问题,因为对于这个问题我也是研究了一段时间,也是百思不得其解,我也没看明白为什么😂。不好意思了。我会继续研究,如果有答案,我也会更新在这里。
0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信