C# 异步API中的新JsonResult()
我想知道是否应该将此API设置为非异步API,或者在方法体中以某种方式获取wait:C# 异步API中的新JsonResult(),c#,asp.net-web-api,C#,Asp.net Web Api,我想知道是否应该将此API设置为非异步API,或者在方法体中以某种方式获取wait: [Route("identity")] [Authorize] public class IdentityController : ControllerBase { [HttpGet] public async Task<IActionResult> GetAsync() => new JsonResult(from c in User.Claims select new {
[Route("identity")]
[Authorize]
public class IdentityController : ControllerBase
{
[HttpGet]
public async Task<IActionResult> GetAsync() => new JsonResult(from c in User.Claims select new { c.Type, c.Value });
}
[路线(“身份”)]
[授权]
公共类标识控制器:ControllerBase
{
[HttpGet]
公共异步任务GetAsync()=>newJSONResult(从User.Claims中的c选择新的{c.Type,c.Value});
}
我找不到一个现成的解决方案,
JsonResult
可以返回等待。任何帮助、删除async或忽略警告?当async方法缺少“wait”操作符时,它将同步运行,正如警告所说。使它异步是没有好处的
要删除此警告,可以使此方法同步:
[HttpGet]
public IActionResult Get() => new JsonResult(from c in User.Claims select new { c.Type, c.Value });
我知道这个。但是我现在被“EverythingAstobeAsync”病毒感染了…@Hassanglzar然后你可能想清除病毒:)在正文中使用
async
关键字而不使用Wait
意味着该方法是包装同步的。如果您发现不可能使用wait
,那么很好地表明该方法不应该是异步的。