を使用して結果を結合するここでは、私は助けが必要なシナリオです。複数の残りのapi呼び出しを行い、c#
ユーザーは、キーワードを入力し、私はHTTPClientの要求を使用して結果を得るために複数のAPIにそのキーワードを提供しています
を検索ヒット。
さまざまなAPIの検索キーワードに基づいて対応しています。
しかし、私はこれらのapisに1つずつ検索呼び出しを行っています。私は一度ユーザーが検索をヒットすると、すべてのAPIを一度に呼び出してから結果を結合する何かをしたい。
WalmartModel model=new WalmartModel();
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("**URL 1**");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//GET Method
HttpResponseMessage response = await client.GetAsync("");
if (response.IsSuccessStatusCode)
{
model = await response.Content.ReadAsAsync<WalmartModel>();
}
else
{
Console.WriteLine("Internal server Error");
}
}
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("**URL 2**");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//GET Method
HttpResponseMessage response = await client.GetAsync("");
if (response.IsSuccessStatusCode)
{
model = await response.Content.ReadAsAsync<WalmartModel>();
}
else
{
Console.WriteLine("Internal server Error");
}
}
私は結果を得ています。私はリストを結合して返します。これは私がベストプラクティスとは思わないものです。
私はマルチタスクスレッドを利用できると知っていますが、実際の例はありません。誰もがこれを処理するための最良のアプローチを提案することはできますか?
複数のリクエストを並行して実行し、結果を結合します。 https://msdn.microsoft.com/en-us/library/hh696703(v=vs.110).aspx – JamesT
少なくとも、あなたはどのようにこれを行うのか、いくつかのコードを提供してください。 – Evk
これは、現在API呼び出しをどのように行っているかを示すコードを提供していれば、回答可能な質問になります。 「マルチタスクスレッド」は適切なアプローチではありません。 – spender