回到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调用者?对于开发,如何查看确切的异常堆栈?
如果你需要人手你可以打电话
return StatusCode(StatusCodes.Status500InternalServerError, responseObject);
这将返回一个500与响应对象...
你可以使用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);
从我可以看到,在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'
我正在尝试从页面: 控制器: 但是我似乎无法在前端检索会话