1. ホーム
  2. c#

[解決済み】HttpClientがPostAsJsonAsyncメソッドに対応していない C#

2022-03-30 05:47:29

質問

私は自分のウェブアプリケーションからウェブAPIを呼び出そうとしています。.Net 4.5を使用していますが、コードを書いていると、次のようなエラーが発生します。 HttpClient は定義を含んでいません PostAsJsonAsync メソッドを使用します。

以下はそのコードです。

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:51093/");
client.DefaultRequestHeaders.Accept.Add(
   new MediaTypeWithQualityHeaderValue("application/json"));
var user = new Users();
user.AgentCode = 100;
user.Remarks = "Test";
user.CollectionDate = System.DateTime.Today;
user.RemittanceDate = System.DateTime.Today;
user.TotalAmount = 1000;
user.OrgBranchID = 101;

var response = client.PostAsJsonAsync("api/AgentCollection", user).Result;

というエラーメッセージが表示されます。

エラー: 'System.Net.Http.HttpClient' には、次の定義が含まれていません。 の第一引数を受け付ける拡張メソッド 'PostAsJsonAsync' がありません。 タイプ 'System.Net.Http.HttpClient' が見つかりませんでした。 using ディレクティブか、アセンブリの参照か?)

ご覧いただき、アドバイスをお願いします。

解決方法は?

そうです。

System.Net.Http.Formatting.dll

これは、extensions assemblies エリアにあります。

これを実現するための良い方法は NuGetパッケージ Microsoft.AspNet.WebApi.Client をプロジェクトに追加します。