コンソールアプリから呼び出されるシンプルなRestfulサービスがあるので、WebClientを使用しています。この削除の呼び出しが正しいかどうか疑問に思っています。
URLは次のようになりますlocalhost/RestService1/Person/1
using (var client = new WebClient())
{
client.UploadString(url, "DELETE", "");
}
UploadStringにデータパラメータなしのオーバーロードがないことは好きではありません。空のパラメータを渡すことは、私にはうまくいきません。 「DELETE」に使用するより良い方法はありますか?
WebRequestを使用することもできますが、一貫性を保つためにWebClientを使用したいだけです。
これがWebRequestブロックです
var request = WebRequest.Create(url);
request.Method = "DELETE";
var response = (HttpWebResponse)request.GetResponse();
両方のブロックは正常に動作しますが、何が最善ですか?またはより良い方法はありますか?
次は私のために働きます:
client.UploadValues(url, "DELETE", new NameValueCollection());
Microsoft.Net.Httpクライアントライブラリを取得します http://nuget.org/packages/Microsoft.Net.Http
HttpClientは、APIの操作に使用するはるかに優れたクライアントです。
WebClientクラスは、安静なapiの消費にはあまり適していません。以前は、このタイプのWebリクエスト向けの RestSharp などのサードパーティライブラリを使用しました。 RestSharpは内部でHttpWebRequestを使用するだけだと確信していますが、それは多くのセマンティクスを提供して、残りのリソースの消費と再利用を容易にします。