当前位置: 首页 > 知识库问答 >
问题:

如何从ASP返回HTTP 500。NET核心RC2 Web Api?

孟花蜂
2023-03-14

回到RC1,我会这样做:

[HttpPost]
public IActionResult Post([FromBody]string something)
{    
    try{
        // ...
    }
    catch(Exception e)
    {
         return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError);
    }
}

在RC2中,不再有HttpStatusCodeResult,并且没有任何东西可以让我返回500类型的IActionResult。

我现在问的方法完全不同了吗?我们是否不再尝试捕获Controller代码?我们是否只是让框架将一个泛型500异常抛回API调用者?对于开发,如何查看确切的异常堆栈?

共有3个答案

轩辕炎彬
2023-03-14

如果你需要人手你可以打电话

return StatusCode(StatusCodes.Status500InternalServerError, responseObject);

这将返回一个500与响应对象...

彭弘方
2023-03-14

你可以使用Microsoft。AspNetCore.mvc.ControlllerBase.StatusCode和Microsoft。AspNetCore.http://http.StatusCodes来形成您的响应,如果您不希望硬编码特定的数字。

return  StatusCode(StatusCodes.Status500InternalServerError);

更新:2019年8月

可能与原始问题没有直接关系,但当尝试使用Microsoft Azure函数获得相同的结果时,我发现我必须构建一个新的StatusCodeResult对象,该对象位于Microsoft中。AspNetCore。Mvc。旧件总成。我的代码现在看起来像这样;

return new StatusCodeResult(StatusCodes.Status500InternalServerError);
沈翰
2023-03-14

从我可以看到,在ControlllerBase类中有帮助器方法。只需使用StatusCode方法:

[HttpPost]
public IActionResult Post([FromBody] string something)
{    
    //...
    try
    {
        DoSomething();
    }
    catch(Exception e)
    {
         LogException(e);
         return StatusCode(500);
    }
}

您还可以使用StatusCode(int statusCode,对象值)重载,它也协商内容。

 类似资料:
  • . NET Core gRPC-Web客户端调用ASP.NETCore gRPC-Web服务器http://localhost:5000正常工作。 与部署到具有虚拟应用程序的IIS服务器的客户端代码调用服务器相同(例如http://build.mycompany.ca/myapp)的结果 状态(StatusCode="未实现",Detail="错误的gRPC响应。HTTP状态代码:404") 我的

  • 我的问题和这个差不多。 ASP。Net Core与EF Core和CosmosDB-身份问题 提供的答案不起作用。这会产生其他问题。当我从升级我的应用程序时,这些错误开始出现。NET Core 3.1 to。净5。降级应用程序使所有错误都消失了。显然,这个问题与efcore 5中引入的对cosmos的乐观并发支持有关。 https://docs.microsoft.com/en-us/ef/cor

  • 在Asp。Net Core 3.1应用程序我有以下关于应用程序设置的部分: 我试图获取一些值,比如Facebook的Id,所以我尝试: 但这行不通。。。我怎样才能得到这些值?

  • .NET核心和ASP.NET核心到底有什么区别?

  • 我们正在开发具有移动部分和网络用户界面的应用程序。Web UI使用角,我们在后端配置cors时遇到了问题。我们的代码如下(只是对我们的问题很重要的代码): 从stackoverflow上的文档和其他帖子来看,这应该是可行的,但不是。我们错过了什么? thnx 编辑: 这是邮递员的请求: 卷曲'https://guw.azurewebsites.net/api/token'-X OPTIONS-H'

  • 我正在尝试从页面: 控制器: 但是我似乎无法在前端检索会话