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

Nul*_*nce 13 .net c# web-services .net-2.0 asp.net-web-api

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

Dar*_*rov 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
}
Run Code Online (Sandbox Code Playgroud)

如果你想POST一些值:

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);        
Run Code Online (Sandbox Code Playgroud)

//现在使用JSON解析器将结果字符串解析回某个CLR对象}