从.NET 2.0客户端调用Web Api服务

时间:2013-07-05 07:17:03

标签: c# .net web-services asp.net-web-api .net-2.0

是否可以从.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?

1 个答案:

答案 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对象     }