从WCF使用REST服务

时间:2008-11-07 17:13:13

标签: visual-studio-2008 wcf web-services rest twitter

我对WCF并不熟悉,但我想我会在尝试使用现有服务时学习。

我想到的一个REST API是Twitter API。我想开发一个WPF客户端,它会在某个Twitter用户的最后5条推文中输出到屏幕。

我想知道是否有人可以请使用WCF(类,向导,代理等)简要概述我需要在Visual Studio中使用这些服务的步骤。我已经知道如何使用Web请求调用它们并解析返回的XML - 我真的希望看到WCF部分正常工作。

提前感谢帮助我继续教育的任何人:)

2 个答案:

答案 0 :(得分:7)

查看Kirk Evans Creating a REST Twitter Client With WCF。 .NET 3.5 SP1中WCF的最新改进使许多RESTful接口更容易。

另请查看MSDN网站上的Twitter WCF 3.5 API Declaration Library

这里是yet another example - 警告截至2/3/10链接是“borked”

答案 1 :(得分:6)

使用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);

如果您想了解有关此客户端库的更多详细信息,我正在编写一些关于它的博客文章here