240

私は使用しようとしていますHttpContent:

HttpContent myContent = HttpContent.Create(SOME_JSON);

...しかし、それが定義されているDLLを見つけることができません。

まず、 と への参照を追加しようとしMicrosoft.HttpましSystem.Netたが、どちらもリストにありません。への参照も追加しようとしましたSystem.Net.Httpが、HttpContentクラスは利用できません。

それで、誰か私がHttpContentクラスを見つけることができる場所を教えてもらえますか?

4

6 に答える 6

167

6footunder のコメントを取得して回答に変えることHttpContentは抽象的であるため、派生クラスのいずれかを使用する必要があります。

ここに画像の説明を入力

于 2014-02-19T11:38:50.890 に答える
111

JSON 投稿の場合:

var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);

非 JSON:

var stringContent = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("field1", "value1"),
    new KeyValuePair<string, string>("field2", "value2"),
});
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);

https://blog.pedrofelix.org/2012/01/16/the-new-system-net-http-classes-message-content/

于 2017-12-20T19:49:07.593 に答える
6

HttpContentの最終バージョンとSystem.Net.Http名前空間全体には.NET4.5が付属しますが、 NuGetからMicrosoft.Net.Httpパッケージを追加することで、.NET4バージョンを使用できます。

于 2012-06-21T19:23:48.480 に答える
0

コードが System.Net.Http.HttpContent クラスを使用していないことは確かですが、代わりに Microsoft.Http.HttpContent を使用しています。Microsoft.Http は、WCF REST スターター キットであり、.NET Framework に配置される前にプレビューを作成することはありませんでした。まだここにあります: http://aspnet.codeplex.com/releases/view/24644

それに基づいて新しいコードを作成することはお勧めしません。

于 2016-02-01T09:12:11.190 に答える
-1

ここを使って道を離れるだけMicrosoft.AspNet.WebApi.Clientです。

例:

var client = HttpClientFactory.Create();
var result = await client.PostAsync<ExampleClass>("http://www.sample.com/write", new ExampleClass(), new JsonMediaTypeFormatter());
于 2020-07-23T08:23:35.947 に答える