web*_*ake 7 c# asp.net-core asp.net-core-3.1
如何更改 .NET Core 应用程序的状态描述?我正在寻找相当于 .NET 4.8 HttpResponse.StatusDescription的东西。
代替
HTTP/1.1 400 Bad Request
我想将“错误请求”更改为我的应用程序中的某些内容
HTTP/1.1 400 Custom Error Message
我知道还有其他发送错误文本的方法。但是,我需要支持仅从状态代码文本字段读取错误消息的旧应用程序。
如果相关,它将使用 .NET Core 3.1 在 IIS 上运行。
这是一种可能的方法:
public class CustomResult : IActionResult
{
private readonly string _errorMessage;
private readonly int _statusCode;
public CustomResult(string errorMessage, int statusCode)
{
_errorMessage = errorMessage;
_statusCode = statusCode;
}
public async Task ExecuteResultAsync(ActionContext context)
{
var objectResult = new ObjectResult(_errorMessage)
{
StatusCode = _statusCode
};
await objectResult.ExecuteResultAsync(context);
}
}
Run Code Online (Sandbox Code Playgroud)
以及动作过滤器中的用法:
context.Result = new CustomResult("Custom Error Message", StatusCodes.Status400BadRequest);
Run Code Online (Sandbox Code Playgroud)
或在行动本身:
public IActionResult Save()
{
return new CustomResult("Custom Error Message", StatusCodes.Status400BadRequest);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1903 次 |
| 最近记录: |