[英]Calling an async method from Web API action method
我正在從如下所示的Web API操作方法調用異步方法,但出現“無法將類型Task Employee隱式轉換為Employee”錯誤。
我需要做什么?
我的Web API操作方法如下所示:
public IHttpActionResult GetEmployee()
{
// Get employee info
Employee emp = myDataMethod.GetSomeEmployee();
return Ok(emp);
}
我正在調用的方法如下所示:
public static async Task<Employee> GetSomeEmployee()
{
Employee employee = new Employee();
// Some logic here to retrieve employee info
return employee;
}
我需要怎么做才能調用此方法來檢索員工信息?
PS GetSomeEmployee()方法必須是異步的,因為它會進行其他異步調用來檢索員工數據。
您需要同步調用該方法,或者使用await
。 例如:
同步( GetEmployee()
將阻塞,直到GetSomeEmployee()
完成):
public IHttpActionResult GetEmployee()
{
// Get employee info
Employee emp = myDataMethod.GetSomeEmployee().Result;
return Ok(emp);
}
異步( GetEmployee()
將立即返回,然后在GetSomeEmployee()
完成時繼續執行):
public async Task<IHttpActionResult> GetEmployee()
{
// Get employee info
Employee emp = await myDataMethod.GetSomeEmployee();
return Ok(emp);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.