[解決済み】同期接続にHttpClientを使用する理由
2022-04-07 17:01:21
質問
私は、APIと対話するためのクラスライブラリを構築しています。APIを呼び出して、XMLレスポンスを処理する必要があります。を使用することの利点がわかります。
HttpClient
は非同期接続用ですが、私がやっているのは純粋に同期接続なので
HttpWebRequest
.
もし、どなたか光を当ててくださる方がいらっしゃいましたら、ぜひお願いします。私は、新しい技術をわざわざ使うような人間ではありません。
解決方法は?
今、この問題に遭遇した人のために、.NET 5.0 では、同期的な
Send
メソッドを
HttpClient
.
https://github.com/dotnet/runtime/pull/34948
そのメリットや理由については、こちらで詳しく解説しています。 https://github.com/dotnet/runtime/issues/32125
したがって、これを
SendAsync
. 例えば
public string GetValue()
{
var client = new HttpClient();
var webRequest = new HttpRequestMessage(HttpMethod.Post, "http://your-api.com")
{
Content = new StringContent("{ 'some': 'value' }", Encoding.UTF8, "application/json")
};
var response = client.Send(webRequest);
using var reader = new StreamReader(response.Content.ReadAsStream());
return reader.ReadToEnd();
}
このコードはあくまで簡易的な例であり、製品化されるものではありません。
関連
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] URLのPath.Combineは?
-
[解決済み] C#で同期メソッドから非同期メソッドを呼び出すには?
-
[解決済み] HttpClientリクエストのContent-Typeヘッダーはどのように設定するのですか?
-
[解決済み] HttpClientのBaseAddressが機能しないのはなぜですか?
-
[解決済み] .Net 4.5の非同期HttpClientは負荷の高いアプリケーションには不向きか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] 非同期Task<T>メソッドを同期的に実行するにはどうしたらいいですか?
-
[解決済み] Task.Runの正しい使い方とasync-awaitだけの使い方
-
[解決済み] ASP.NET Web APIでのasync/awaitの効果的な使い方