【发布时间】:2014-06-05 11:45:56
【问题描述】:
在 ASP.NET Web API 2 中,以下有什么区别?
public async Task<IEnumerable<MyItem>> GetMyItems()
{
//... code ..., var myItems = await ...
return myItems;
}
和
public async Task<IQueryable<MyItem>> GetMyItems()
{
//... code ..., var myItems = await ...
return myItems;
}
和
public async Task<IHttpActionResult> GetMyItems()
{
//... code ..., var myItems = await ...
return Ok(myItems);
}
我应该返回IHttpActionResult 还是IEnumerable<MyItem> / IQueryable<MyItem> ?
【问题讨论】:
-
如果您的操作方法不包括使用
await关键字,那么您不应返回Task。相反,您应该简单地返回IHttpActionResult、IEnumerable<MyItem>或IQueryable<MyItem>。请参阅问题IHttpActionResult vs async Task<IHttpActionResult>。另见问题Effectively use async/await with ASP.NET Web API。
标签: c# asp.net asp.net-web-api async-await asp.net-web-api2