C# 哪种http返回结果类型最好,并且可以在一行代码语句中返回HttpResponseMessage
我正在使用asp.net核心web api,我需要执行一个任务C# 哪种http返回结果类型最好,并且可以在一行代码语句中返回HttpResponseMessage,c#,asp.net-core,C#,Asp.net Core,我正在使用asp.net核心web api,我需要执行一个任务OneTask,成功执行OneTask后,它应返回OK staus,否则返回错误响应。我想要HttpResponseMessage并且可以返回返回Ok(awit OneTask()) [HttpPost] 公共异步任务Post() { 等待一个任务; 返回Ok(新的HttpResponseMessage(HttpStatusCode.Ok)); } 公共异步任务OneTask() { 等待某项任务 } IActionResult界面是
OneTask
,成功执行OneTask
后,它应返回OK staus,否则返回错误响应。我想要HttpResponseMessage
并且可以返回返回Ok(awit OneTask())代码>
[HttpPost]
公共异步任务Post()
{
等待一个任务;
返回Ok(新的HttpResponseMessage(HttpStatusCode.Ok));
}
公共异步任务OneTask()
{
等待某项任务
}
IActionResult
界面是响应客户机的最佳实践
因此,如下更改代码:
[HttpPost]
[Route("PostWithValue")]
public async Task<IActionResult> PostWithValue()
{
var result = await OneTaskWithReturnValue();
return Ok(result);
}
public async Task<bool> OneTaskWithReturnValue()
{
await Task.Delay(100);
return true;
}
[HttpPost]
[路线(“PostWithValue”)]
公共异步任务PostWithValue()
{
var结果=等待OneAskWithReturnValue();
返回Ok(结果);
}
公共异步任务OneTaskWithReturnValue()
{
等待任务。延迟(100);
返回true;
}
另外,请注意异步无效(无任务)
这是一个坏主意,因为您在处理异常方面有问题:
简言之:
[HttpPost]
[Route("PostWithValue")]
public async Task<IActionResult> PostWithValue()
{
var result = await OneTaskWithReturnValue();
if (!result)
{
return BadRequest("Message for Error");
}
return Ok("Message for OK Status");
}
public async Task<bool> OneTaskWithReturnValue()
{
await Task.Delay(100);
// Do you task
return true;
}
[HttpPost]
[路线(“PostWithValue”)]
公共异步任务PostWithValue()
{
var结果=等待OneAskWithReturnValue();
如果(!结果)
{
返回错误请求(“错误消息”);
}
返回Ok(“Ok状态信息”);
}
公共异步任务OneTaskWithReturnValue()
{
等待任务。延迟(100);
//你有任务吗
返回true;
}
如何检查OneTask
执行是否成功?我也不确定这一点。OneTask如何决定执行是否成功?
[HttpPost]
[Route("PostWithValue")]
public async Task<IActionResult> PostWithValue()
{
var result = await OneTaskWithReturnValue();
if (!result)
{
return BadRequest("Message for Error");
}
return Ok("Message for OK Status");
}
public async Task<bool> OneTaskWithReturnValue()
{
await Task.Delay(100);
// Do you task
return true;
}