33

コンソールアプリから呼び出される単純なRestfulサービスがあるので、を使用していWebClientます。この削除の呼び出しが正しいかどうか疑問に思っています。

URLは次のようになりますlocalhost/RestService1/Person/1

using (var client = new WebClient()) 
{
    client.UploadString(url, "DELETE", "");
}

パラメータUploadStringなしでオーバーロードがないのは好きではありません。data空のパラメーターを渡すことは、私にはうまくいきません。に使用するより良い方法はありDELETEますか?

使用できますが、一貫性を保つためにWebRequest使用したいだけです。WebClient

WebRequestブロックはこちら

var request = WebRequest.Create(url);
request.Method = "DELETE";
var response = (HttpWebResponse)request.GetResponse();

どちらのブロックも問題なく動作しますが、どちらが最適ですか? それとももっと良い方法がありますか?

4

4 に答える 4

3

WebClient クラスは、安らかな API の消費にはあまり適していません。私は過去に、このタイプの Web 要求に特化したRestSharpなどのサードパーティ ライブラリを使用しました。RestSharp は裏で HttpWebRequest を使用しているだけだと確信していますが、残りのリソースの消費と再利用を容易にする多くのセマンティクスを提供します。

于 2012-09-11T21:13:17.970 に答える
3

Microsoft.Net.Http クライアント ライブラリを入手してください http://nuget.org/packages/Microsoft.Net.Http

HttpClient は、API を操作するために使用するより優れたクライアントです。

于 2012-09-11T21:22:14.477 に答える