사용하려고합니다 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
추상적이므로 파생 클래스 중 하나를 사용해야합니다.
답변
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
클래스가 상주)에 새로운 닷넷 4.5 , 당신은 VS2012 RC를 사용하고 있습니까?
그렇지 않으면, 당신은 이것에 액세스 할 수 없습니다.