WCFからRESTサービスを使用する
-
07-07-2019 - |
質問
WCFにはそれほど詳しくありませんが、既存のサービスを利用しようとするときに学ぶと思いました。
私が考えたREST APIの1つは、 Twitter API でした。特定のTwitterユーザーによる最後の5つのツイートを画面に出力するWPFクライアントを開発することを考えました。
WCF(クラス、ウィザード、プロキシなど)を使用して、これらのサービスを利用するためにVisual Studioで実行する必要がある手順を誰かが簡単に説明してくれないかと思っていました。返されるXMLを解析します。WCFの部分が実際に動作しているのを見たいです。
事前に私の教育を支援してくれたanyoineに感謝します:)
解決
Kirk Evansをご覧ください WCFを使用したREST Twitterクライアントの作成。 .NET 3.5 SP1のWCFの最新の改善により、多くのRESTfulインターフェイスが簡単になりました。
Twitter WCF 3.5 API宣言ライブラリ MSDNサイトから。
さらに別の例-2/3/10リンク時点での警告は「中断」
他のヒント
WCFを使用して、Twitter APIのようなHttpベースのAPIを使用する利点はありません。 System.Net.HttpWebRequestで十分です。実際、私はあなたにいくらかの困難があると思う。ワイヤの両端にWCFがあると、WCFの作業がはるかに簡単になります。
ただし、REST APIがAtomコンテンツを返している場合は、System.ServiceModel.Syndicationクラスを使用して応答の解析を支援できます。
編集:
この記事を書いてから、Microsoftは、RESTfulサービスをより良く利用できる新しいHTTPクライアントライブラリのプレビューをリリースしました。
これを使用してTwitterにPOSTする方法を次に示します。
var client = new HttpClient();
client.DefaultHeaders.Authorization = Credential.CreateBasic("username","password");
var form = new HttpUrlEncodedForm();
form.Add("status","Test tweet using Microsoft.Http.HttpClient");
var content = HttpContent.Create(form);
var resp = client.Post("http://www.twitter.com/statuses/update.xml", content);
このクライアントライブラリの詳細を知りたい場合は、それに関するブログ記事を執筆中ですこちら。