Windows phone 7 将字符串列表(xml或json)从windowsphone发送到mvc4 webapi

Windows phone 7 将字符串列表(xml或json)从windowsphone发送到mvc4 webapi,windows-phone-7,asp.net-mvc-4,asp.net-web-api,Windows Phone 7,Asp.net Mvc 4,Asp.net Web Api,我不熟悉windows phone和mvc4 Web API。我正在尝试从windows phone发送详细信息,并希望在mvc4 web API中以查询字符串的形式获取这些详细信息。我现在有数据列表,但我不知道如何在Web API中发送和接收数据,需要建议或示例链接。您可以从查看此列表开始 我正在尝试从windows phone发送详细信息,并希望在mvc4 web API中以查询字符串的形式获取这些详细信息 解决方案#1: 通过从查询字符串传递字符串列表,您需要将操作参数标记为[FromUr

我不熟悉windows phone和mvc4 Web API。我正在尝试从windows phone发送详细信息,并希望在mvc4 web API中以查询字符串的形式获取这些详细信息。我现在有数据列表,但我不知道如何在Web API中发送和接收数据,需要建议或示例链接。

您可以从查看此列表开始

我正在尝试从windows phone发送详细信息,并希望在mvc4 web API中以查询字符串的形式获取这些详细信息

解决方案#1:
通过从查询字符串传递字符串列表,您需要将操作参数标记为[FromUri]

public class ValuesController : ApiController
{
    // POST api/values
    public void Post([FromUri] List<string> arrOfString)
    {
    }
}
解决方案#2:
或者,您不需要在查询字符串中传递数据,在请求正文中传递字符串列表更简单:

Web API服务器:

public class ValuesController : ApiController
{
    // POST api/values
    public void Post(List<string> arrOfString)
    {
    }
}
公共类值控制器:ApiController
{
//后api/值
公共作废帖子(列表为空)
{
}
}
Windows Phone客户端:

        WebClient client = new WebClient();
        client.Headers["Content-Type"] = "application/json";

        var data = JsonConvert.SerializeObject(new List<string>() { "a", "b", "c" });

        client.UploadStringCompleted += new UploadStringCompletedEventHandler(...);
        client.UploadStringAsync(new Uri("http://localhost/api/values"), "POST", data);
WebClient=newWebClient();
client.Headers[“Content Type”]=“application/json”;
var data=JsonConvert.SerializeObject(新列表(){“a”、“b”、“c”});
client.UploadStringCompleted+=新的UploadStringCompletedEventHandler(…);
UploadStringAsync(新Uri(“http://localhost/api/values(“发布”,数据);

我尝试这个例子已经有一段时间了。对我来说,问题是这个示例帮助我了解如何从web API获取详细信息到手机。。我想要一些类似于电话到网络API的东西。在这个例子中,我很难遵循电话到网络的API。谢谢回复,我已经用一些示例代码更新了答案。希望这有帮助。看看你的答案。我会解决的。看起来不错,谢谢
        WebClient client = new WebClient();
        client.Headers["Content-Type"] = "application/json";

        var data = JsonConvert.SerializeObject(new List<string>() { "a", "b", "c" });

        client.UploadStringCompleted += new UploadStringCompletedEventHandler(...);
        client.UploadStringAsync(new Uri("http://localhost/api/values"), "POST", data);