WCF或HttpWebRequest - 使用哪个?

时间:2010-01-05 20:14:33

标签: c# .net wcf web-services

我想使用WPF应用程序(Facebook,Twitter等)访问多个Web服务。

我对WCF一点也不熟悉,我想知道我应该使用什么以及为什么(利弊)? WCF或其他更传统的东西(如HttpWebRequest)?

3 个答案:

答案 0 :(得分:3)

当你可以让WCF为你做一些工作时,为什么要“传统”?

如果您正在访问许多服务,那么您将编写大量重复代码。然后,您可以将重复重构为用于调用服务的框架。

WCF已经 这样的框架,那么为什么要编写自己的呢?

答案 1 :(得分:3)

继续使用WCF!这是要走的路,这是微软“互联系统”战略的现在和未来。你可以使用WCF附加几乎任何东西 - 与Khalid相反,我认为它没有很高的学习曲线。

给自己写一本好书 - 我推荐Michele Leroux Bustamante撰写的Learning WCF - 查看她的样本,与其一起玩。

同时查看在线资源:

这应该很容易让你开始!那里有更多的东西。

观看这两个DNR-TV屏幕演员 - 它们展示了如何真正理解WCF配置方面的需要。这真的不是火箭科学!但不幸的是,“添加服务参考”和svcutil.exe都有创建非常复杂的配置的倾向 - 这是不必要的。

WCF REST和Twitter的更多在线资源:

答案 2 :(得分:-1)

我已经开发了WCF和直接网络请求。

在开发Web服务时,WCF可能很棒,但无法保证所有第三方服务都将实现与WCF一起使用的协议(添加服务引用或svcutil)。

此外,WCF还可以托管在您想要的任何位置,例如控制台,网站,WPF应用程序或Windows服务。在配置方面,WCF有一个很高的学习曲线,所以要明白这一点。

越来越多的第三方服务采用REST接口。这意味着您的大部分调用都将使用HttpWebRequest完成。一旦调用该服务,就会出现反序列化数据的问题(XML,JSON,键/值对,固定长度)。如果是XML或JSon,请查看使用XmlSerializer或DataContractSerializer。

因此,如果您正在编写自己的Web服务(来电),请继续使用WCF。如果您正在使用Web服务(呼叫服务,即Twitter),您很可能无法选择使用WCF。