与动作结果一起使用async

时间:2018-01-04 08:36:36

标签: c# asp.net-mvc async-await

我希望Residency返回Task<ActionResult>

public async Task<ActionResult> Residency() 
{
    DBResponse DataSource = await Residency_Manager.Residency_REPORT();
}

以下是DBResponse类:

public DBResponse(Int32 statusCode, string message, Object data)
{
    this.StatusCode = statusCode;
    this.Message = message;
    this.Data = data;
}

当我等待Residency_REPORT函数时,它返回一个DBResponse对象并显示以下错误。 Error Message

1 个答案:

答案 0 :(得分:0)

Residency_Manager.Residency_REPORT()不是异步方法,因此您无法使用await调用它。

简单的解决方案:不要将Residency实现为异步方法,因为没有任何东西需要异步。如果中的其他代码是异步,只需删除呼叫前面的等待:

DBResponse DataSource = Residency_Manager.Residency_REPORT();

另一个简单的解决方案:将Residency_REPORT实现为异步并让它返回Task<DBResponse>