web-dev-qa-db-ja.com

.NET2.0クライアントからのWebApiサービスの呼び出し

.NET2.0クライアントからWebApiメソッドを呼び出すことは可能ですか?

ここでガイドを参照してください: http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client

クライアント用のこれらのdllの一部は、.NET2.0と互換性がないようです。

Dllを追加せずに.NET2.0クライアントからWebApiメソッドを呼び出す方法はありますか?

13
Null Reference

.NET2.0クライアントからWebApiメソッドを呼び出すことは可能ですか?

もちろんそれは可能です。絶対にすべての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
}

そして、あなたが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);        

// JSONパーサーを使用して、結果の文字列を解析してCLRオブジェクトに戻します}

28
Darin Dimitrov