我对windows-phone和mvc4 Web-API都是新手。我正在尝试从windows-phone发送详细信息,并希望在mvc4 web-API中获得这些详细信息作为查询字符串。我现在有数据列表,但我不知道如何在Web-API需要建议或示例链接中发送和接收它。
发布于 2012-10-05 13:05:12
您可以从查看此Contact Manager Web API sample开始。
我正在尝试从windows-phone发送详细信息,并希望在mvc4 web-
中获得这些详细信息作为查询字符串
解决方案#1:
通过从查询字符串中传递字符串列表,您需要将操作参数标记为FromUri ...
public class ValuesController : ApiController
{
// POST api/values
public void Post([FromUri] List<string> arrOfString)
{
}
}..。并且查询字符串需要采用arrOfString[]=item1&arrayOfString[]=item2&...&arrayOfString[]=itemN.的形式以下是您的Windows Phone可能的外观示例:
WebClient client = new WebClient();
client.UploadStringCompleted += new UploadStringCompletedEventHandler(...);
client.UploadStringAsync(new Uri("http://localhost/api/values?arrOfString[]=a&arrayOfString[]=b&arrayOfString[]=c"), string.Empty);解决方案#2:
或者,您可以没有在查询字符串中传递数据的硬要求,在请求正文中传递字符串列表会更简单:
Web API服务器:
public class ValuesController : ApiController
{
// POST api/values
public void Post(List<string> arrOfString)
{
}
}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);https://stackoverflow.com/questions/12739687
复制相似问题