HttpContent
を使用しようとしています。
HttpContent myContent = HttpContent.Create(SOME_JSON);
...しかし、DLLが定義されている場所を見つけるのに運がありません。
最初に、私はMicrosoft.Http
とSystem.Net
への参照を追加しようとしました、しかし、どちらもリストにありません。私はまたSystem.Net.Http
への参照を追加しようとしましたが、HttpContent
クラスは利用できません。
それで、誰が私がHttpContent
クラスを見つけることができる場所を私に言うことができますか?
ただ使用してください...
var stringContent = new StringContent(jObject.ToString());
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);
または、
var stringContent = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);
6footunderのコメントを取り、それを答えに変えるには、HttpContent
は抽象的なので、派生クラスの1つを使用する必要があります。
JSON Postの場合:
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/
HttpContentの最終バージョンとSystem.Net.Http名前空間全体が.NET 4.5に付属しますが、NuGetの Microsoft.Net.Http パッケージを追加することで.NET 4バージョンを使用できます。
私はコードがSystem.Net.Http.HttpContentクラスを使用していないことを確信しています、その代わりにMicrosoft.Http.HttpContentを使用してください。 Microsoft.HttpはWCF RESTスターターキットで、.NET Frameworkに配置されるまでプレビューされませんでした。あなたはまだここでそれを見つけることができます: http://aspnet.codeplex.com/releases/view/24644
私はそれに基づいて新しいコードを書くことをお勧めしません。
System.Net.Http
名前空間(HttpContent
クラスが存在する場所)は、。Net 4.5の新機能です。VS2012 RCを使用していますか?
そうでなければ、あなたはこれにアクセスできないでしょう。