0
我是新来的异步任务在c#中。我想做到的是以下几点: - API调用3层其他的API异步 - 返回3个datatsets作为一个异步任务从api的异步任务不运行异步
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Mvc.HttpGet]
public async Task<string> ServiceModelsForTournamentBase(int id)
{
var matchInfoJson = await GetJsonFromApi("api/asyncdata/searchmatchfortournament/" + id, _siteUrl);
var scoringPlayersJson = await GetJsonFromApi("api/asyncdata/scoringplayersfortournament/" + id, _siteUrl);
var teamsJson = await GetJsonFromApi("api/asyncdata/tournamentteams/" + id, _siteUrl);
// return json containing all three
}
private async Task<string> GetJsonFromApi(string serviceUrl, Uri siteUrl)
{
using (var client = new HttpClient())
{
client.BaseAddress = siteUrl;
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync(serviceUrl);
return response.IsSuccessStatusCode
? await response.Content.ReadAsStringAsync()
: string.Empty;
}
}
什么是你的意思是它不是取它异步?因为我向你保证它是。你的意思是? – Aron
你是对的,我其实是同时说的。那里的措辞不好。 :) – user1651985