2016-09-18 20 views
1

HttpClientは、非同期メソッドのみをサポートしています。私はawait呼び出しメソッド(非同期メソッド自体ではなく、私が知っている限り、HttpClientメソッドの呼び出しを待つ必要があります)でそれらを持っていますか?非同期メソッドを待つ必要がありますか?

私は本当にそのプロジェクトでマルチスレッドをする必要はありません。私はとにかくデータを持っている必要があるので、私がHttpClientからの応答を得るまで、私はうまくブロックして待っています。これはConsoleアプリケーションです。

+0

これをチェックしてください:http://stackoverflow.com/q/14455293/3956100 – Niklas

+0

結果が必要な場合は、それを「待っています」。 – zerkms

答えて

3

いいえ、何もあなたにはawaitコールが必要です。電話はTではなく、Task<T>をあなたに返すだけです。あなたはTaskResultプロパティを呼び出す場合:

var result = client.MakeCallAsync().Result; 

あなたはそれを言っているが、「それブロックは、私はこれが行われるまでの私のコード(このスレッドは)ここに待ちたい場合、私は気にしないでください。」

1

私は本当にそのプロジェクトでマルチスレッドをする必要はありません。

asyncは、マルチスレッドではなく、ほぼ非同期です。

とにかくデータを持っている必要があるので、私はHttpClientからの応答を得るまでブロックして待っています。これはコンソールアプリケーションです。

この場合、すべてを同期させておくといいでしょう。つまり、HttpClientの代わりにWebClientを使用します。

関連する問題