Post 如何将httpclient发布到WEB API?(对于我的高分表,这是一种尽可能简单的方法)
我的windows phone客户端发送一段JSON,表示名称和分数。。。我应该改用Web API中的类吗?将对象发送到服务器而不是原始json的代码是什么Post 如何将httpclient发布到WEB API?(对于我的高分表,这是一种尽可能简单的方法),post,asp.net-web-api,httpclient,Post,Asp.net Web Api,Httpclient,我的windows phone客户端发送一段JSON,表示名称和分数。。。我应该改用Web API中的类吗?将对象发送到服务器而不是原始json的代码是什么 private void btnCreateSampleScore_Click(object sender, RoutedEventArgs e) { using (var client = new HttpClient()) { client.BaseAddress = n
private void btnCreateSampleScore_Click(object sender, RoutedEventArgs e)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://punkoutersoftware.azurewebsites.net");
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("Bob", "2.65")
});
var result = client.PostAsync("/api/DrunkMeterScore", content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
Console.WriteLine(resultContent);
//DrunkMeterScore dms = new DrunkMeterScore();
//dms.Name = "Bob";
//dms.Score = 2.42;
}
}
编辑1:
这两个我都试过了。。在PostAsync通话期间,他们都挂断了电话,再也没有回来:(
var-client=new-HttpClient();
client.BaseAddress=新Uri(“http://punkoutersoftware.azurewebsites.net");
client.DefaultRequestHeaders.Accept.Add(
新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
var score=new-meterscore(){Name=“Joe”,score=2.67};
//MediaTypeFormatter jsonFormatter=新的JsonMediaTypeFormatter();
//HttpContent=新的ObjectContent(分数,jsonFormatter);
//var resp=client.PostAsync(“api/meterscore”,content.Result);
//Uri scoreUri=null;
//HttpResponseMessage response=client.postsjsonAsync(“api/MiddleMetersCore”,score”)。结果;
//if(响应。IsSuccessStatusCode)
//{
//scoreUri=response.Headers.Location;
//}
//否则
//{
//Console.WriteLine(“{0}({1})”,(int)response.StatusCode,response.ReasonPhrase);
//}
要序列化对象,您需要ObjectContent类,该类对于wp8仅作为alpha版本提供
使用软件包控制台执行以下操作:
安装软件包Microsoft.AspNet.WebApi.Client-预安装
应该是这样的。我是凭记忆这么做的
DrunkMeterScore dms = new DrunkMeterScore();
dms.Name = "Bob";
dms.Score = 2.42;
var content = new ObjectContent(dms, new JsonMediaTypeFormatter());
var result = client.PostAsync("/api/DrunkMeterScore", content).Result;
要序列化对象,您需要ObjectContent类,对于wp8,该类仅作为alpha版本可用 使用软件包控制台执行以下操作: 安装软件包Microsoft.AspNet.WebApi.Client-预安装 应该是这样的。我是凭记忆这么做的
DrunkMeterScore dms = new DrunkMeterScore();
dms.Name = "Bob";
dms.Score = 2.42;
var content = new ObjectContent(dms, new JsonMediaTypeFormatter());
var result = client.PostAsync("/api/DrunkMeterScore", content).Result;
您知道任何链接或文档?或者可能知道序列化我的对象以便服务器Web API代码能够理解它所需的几行?您知道任何链接或文档?或者可能知道序列化我的对象以便服务器Web API代码能够理解它所需的几行?
DrunkMeterScore dms = new DrunkMeterScore();
dms.Name = "Bob";
dms.Score = 2.42;
var content = new ObjectContent(dms, new JsonMediaTypeFormatter());
var result = client.PostAsync("/api/DrunkMeterScore", content).Result;