0

私は asp.net サイトで新しい WebAPI に取り組んできました。GET できる単純な文字列を使用していくつかのサンプルを作成しました。サービスに POST および PUT できるかどうかを調べています。

.net 3.5 コンソール アプリケーションから POST または PUT できるオブジェクトをリクエストに追加する方法を探しています。送信しようとしているオブジェクトは、Name、Surname、および UserID を持つ単純な User クラスです。

私のテストでは、これをシリアル化して URI 経由で送信できるようですが、それはほとんど正しくないようです。これらのリクエストにはヘッダーがあることに気付きました。そこにデータを入れることはできますか?

4

2 に答える 2

4

.NET 3.5 を使用すると、洗練されたオプションはあまりないと思いますが、このコードを使用すると機能しWebClientます (System.Web.Extensions への参照を追加する必要があります)。

WebClient client = new WebClient();
JavaScriptSerializer serializer = new JavaScriptSerializer();
var data = serializer.Serialize(new {Name = "Ali", Title = "Ostad"});
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var downloadString = client.UploadString("http://localhost:59174/api/values", data); // value is "Ali"

そして、ここにコントローラーのアクションがあります:

// POST /api/values
public string Post(JsonValue value)
{
    return value.AsDynamic().Name;
}
于 2012-04-27T09:27:19.990 に答える
1

NuGetのHttpClientを確認してください。これにより、ほとんどのことを http 経由で簡単に行うことができます。

そして、これがそれを使用する例です。

于 2012-04-27T08:44:05.743 に答える