【问题标题】:500 error from controller even it is not reaching action method of the controller in asp.net来自控制器的 500 错误,即使它没有达到 asp.net 中控制器的操作方法
【发布时间】:2022-06-19 10:51:51
【问题描述】:

Assalamu alaykum。我做了一个 API 控制器。当我在 Visual Studio 中运行并查询时,swagger 返回 500 错误,但是当我调试时它没有达到控制器操作。

这就是为什么以及如何解决它?

我还创建了一个简单的无参数,只是一个简单地返回一个 int 变量的测试端点。查询此控制器的端点时,不会到达此控制器文件中的任何方法。

顺便说一下,这是一个 .NET 框架应用程序。

认识的兄弟#help

【问题讨论】:

  • 仅查看 Swagger 文档不会触发任何控制器操作。事实上,查看 Swagger UI 甚至不会实例化控制器。这意味着 500 来自生成页面本身。您需要提供更多详细信息(您在启动期间正在做什么等)

标签: visual-studio asp.net-web-api .net-4.8


【解决方案1】:

我找到了发生这种情况的原因。这是因为控制器中使用的服务没有在 DI 容器中注册。在我看来,它应该只是抛出一个异常而不是返回 500 而不达到控制器操作。无论如何,我不知道为什么,但是在我将服务添加到 DI 之后,这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多