Post 如何将httpclient发布到WEB API?(对于我的高分表,这是一种尽可能简单的方法)

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

我的windows phone客户端发送一段JSON,表示名称和分数。。。我应该改用Web API中的类吗?将对象发送到服务器而不是原始json的代码是什么

 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;