是否可以从.NET 2.0客户端调用Web Api方法?
请参阅此处的指南:http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client
客户端的某些dll似乎与.NET 2.0不兼容
有没有办法从.NET 2.0客户端调用Web Api方法而不添加任何dll?
答案 0 :(得分:28)
是否可以从.NET 2.0客户端调用Web Api方法?
当然,这是可能的。您可以从绝对任何HTTP兼容的客户端调用它。客户端甚至可能不是.NET。
例如,在.NET 2.0中,您可以使用WebClient
类:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeaders.Accept] = "application/json";
string result = client.DownloadString("http://example.com/values");
// now use a JSON parser to parse the resulting string back to some CLR object
}
如果你想发布一些值:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
client.Headers[HttpRequestHeader.Accept] = "application/json";
var data = Encoding.UTF8.GetBytes("{\"foo\":\"bar\"}");
byte[] result = client.UploadData("http://example.com/values", "POST", data);
string resultContent = Encoding.UTF8.GetString(result, 0, result.Length);
//现在使用JSON解析器将结果字符串解析回某个CLR对象 }