2012-04-27 7 views
0

私はasp.netサイトで新しいWebAPIを使って作業しています。私はGETできる簡単な文字列を使っていくつかのサンプルを作成しました。私は今サービスにPOSTとPUTできるかどうかを調べています。ASP.NET WebAPIにデータを渡すには

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

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

答えて

4

、そこに私は考えていない多くのエレガントなオプションがありますが、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; 
} 
1

NuGetのHttpClientをご覧ください。これにより、httpでほとんどのことを簡単に行うことができます。

そしてhere's an exampleを使用しています。 .NET 3.5を使用して

+0

このクライアントは、.NET 3.5(Winforms/Console/WPF/Silverlight)で動作しますか? – deanvmc

+0

私が知る限り、HttpClient(WCF Web Apiの一部)は.NET 4ですが、古いビルドは.net 3.5用です。http://stackoverflow.com/questions/8257652/webapi-httpclient-for-netを参照してください。 -framework-3-5 –

関連する問題