我是 windows-phone 以及 mvc4 Web-API 的新手。我正在尝试从 windows-phone 发送详细信息,并希望在 mvc4 web-API 中获取这些详细信息作为查询字符串。我现在有数据列表,但我不知道如何在 Web-API 中发送和接收它需要建议或示例链接。
问问题
616 次
1 回答
0
您可以从查看此Contact Manager Web API 示例开始。
我正在尝试从 windows-phone 发送详细信息,并希望在 mvc4 web-API 中获取这些详细信息作为查询字符串
解决方案 #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 电话客户端:
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);
于 2012-10-05T05:05:12.157 回答