Is it possible to call a Web Api method from a .NET 2.0 client?

Referring to the guide here: http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client

Some of these dlls for the client doesn't seem to be compatible with .NET 2.0

Are there any ways to call a Web Api method from a .NET 2.0 client without adding any dlls?

有帮助吗?

解决方案

Is it possible to call a Web Api method from a .NET 2.0 client?

Of course it's possible. You can call it from absolutely any HTTP compliant client. The client might not even be .NET.

For example in .NET 2.0 you could use the WebClient class:

using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.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
}

and if you wanted to POST some value:

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);        
    //now use a JSON parser to parse the resulting string back to some CLR object
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top