我对 WCF 不太熟悉,但我想我会在尝试使用现有服务时学习。
我想到的 REST API 之一是Twitter API。我想开发一个 WPF 客户端,它将某个 Twitter 用户的最后 5 条推文输出到屏幕上。
我想知道是否有人可以简要概述我需要在 Visual Studio 中使用 WCF(类、向导、代理等)使用这些服务所需采取的步骤。我已经知道如何使用 Web 请求调用它们并解析返回的 XML - 我真的很想看到 WCF 部分在工作。
提前感谢任何帮助我进一步学习的人:)
我对 WCF 不太熟悉,但我想我会在尝试使用现有服务时学习。
我想到的 REST API 之一是Twitter API。我想开发一个 WPF 客户端,它将某个 Twitter 用户的最后 5 条推文输出到屏幕上。
我想知道是否有人可以简要概述我需要在 Visual Studio 中使用 WCF(类、向导、代理等)使用这些服务所需采取的步骤。我已经知道如何使用 Web 请求调用它们并解析返回的 XML - 我真的很想看到 WCF 部分在工作。
提前感谢任何帮助我进一步学习的人:)
查看 Kirk Evans创建使用 WCF 的 REST Twitter 客户端。.NET 3.5 SP1 中对 WCF 的最新改进使许多 RESTful 接口更容易。
还可以从 MSDN 站点查看Twitter WCF 3.5 API 声明库。
这是另一个例子- 警告截至 2/3/10 链接是“borked”
使用 WCF 使用基于 Http 的 API(如 Twitter API)没有任何好处。System.Net.HttpWebRequest 绰绰有余。事实上,我怀疑你会有一些困难。当电线的两端都有 WCF 时,WCF 更容易开始工作。
但是,如果 REST API 返回 Atom 内容,那么您可以使用 System.ServiceModel.Syndication 类来帮助解析响应。
编辑:自从我写这篇文章以来,微软发布了一个新的 HTTP 客户端库的预览版,它在使用 RESTful 服务方面做得更好。
以下是您将如何使用它发布到 twitter:
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);
如果您想了解更多关于这个客户端库的详细信息,我正在这里写一些关于它的博客文章。