W ASP.NET Web API 2, jaka jest różnica między następującymi?Powracanie IHttpActionResult vs IEnumerable <Item> vs IQueryable <Item>
public async Task<IEnumerable<MyItem>> GetMyItems()
{
//... code ..., var myItems = await ...
return myItems;
}
i
public async Task<IQueryable<MyItem>> GetMyItems()
{
//... code ..., var myItems = await ...
return myItems;
}
i
public async Task<IHttpActionResult> GetMyItems()
{
//... code ..., var myItems = await ...
return Ok(myItems);
}
powinienem wrócić IHttpActionResult
lub IEnumerable<MyItem>
/IQueryable<MyItem>
?
Jeśli twoja metoda działania nie uwzględnia użycia słowa kluczowego 'await', nie powinieneś zwracać' zadania'.Zamiast tego powinieneś po prostu zwrócić 'IHttpActionResult',' IEnumerable 'lub' IQueryable '. Zobacz pytanie [IHttpActionResult vs async Task ] (https://stackoverflow.com/q/29100732/1497596). Zobacz także pytanie [Skutecznie korzystaj z asynchronizacji/poczekaj z ASP.NET Web API] (https://stackoverflow.com/q/31185072/1497596). –
DavidRR