【问题标题】:WCF or HttpWebRequest - Which to Use?WCF 或 HttpWebRequest - 使用哪个?
【发布时间】:2010-01-06 06:27:21
【问题描述】:

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

我对 WCF 完全不熟悉,我想知道我应该使用什么以及为什么(优点和缺点)? WCF 或其他更传统的东西(如 HttpWebRequest)?

【问题讨论】:

    标签: c# .net wcf web-services


    【解决方案1】:

    使用 WCF! 这是要走的路,是微软“连接系统”战略的现在和未来。您可以使用 WCF 附加到几乎任何东西 - 与 Khalid 相反,我认为它的学习曲线并不高。

    给自己买一本好书 - 我推荐 Michele Leroux Bustamante 的 Learning WCF - 看看她的样本,和那些一起玩。

    还可以查看在线资源:

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

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

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

    【讨论】:

      【解决方案2】:

      既然可以让 WCF 为您做一些工作,为什么还要“传统”呢?

      如果您要访问多项服务,您将编写大量重复的代码。然后,您可以将副本重构为调用服务的框架。

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

      【讨论】:

        【解决方案3】:

        我使用 WCF 和直接 Web 请求进行了开发。

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

        WCF 还具有托管在您想要的任何位置的优势,例如控制台、网站、WPF 应用程序或 Windows 服务。在配置方面,WCF 的学习曲线很高,因此请理解。

        越来越多的第三方服务正在采用 REST 接口。这意味着您的大部分调用将使用 HttpWebRequest 完成。调用服务后,您将遇到反序列化返回数据的问题(XML、JSON、键/值对、固定长度)。如果是 XML 或 JSon,请考虑使用 XmlSerializer 或 DataContractSerializer。

        因此,如果您正在编写自己的 Web 服务(调用传入),请继续使用 WCF。如果您正在使用 Web 服务(调用服务,例如 Twitter),您很可能无法选择使用 WCF。

        【讨论】:

        • 感谢您的回答。但是,为什么不能将 WCF 用于 Twitter 等服务呢?在这种情况下似乎可以使用 WCF。
        • @Ariel32:WCF 确实通过 WCF REST Starter Kit 支持 REST - 与 Twitter 集成没有任何问题。查看 MSDN 上的 WCF 开发人员中心 - Pluralsight 的 Aaron Skonnard 做了很多关于 WCF REST 的截屏视频,特别是关于如何处理 Twitter!
        • 哇,我需要检查一下。在 WCF REST Starter Kit 发布之前,我曾使用过 WCF。如果你是对的,那会很酷。我只是不知道您是如何发现 REST 服务的 API 的,除非有某种定义。不过,我一定会检查一下,谢谢 marc_s。
        • 我猜你是对的,我刚刚发现这篇博文blogs.msdn.com/pedram/archive/2008/04/21/… 它展示了如何使用 Flikr REST API。这很酷。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 2015-09-07
        • 1970-01-01
        • 2012-04-05
        相关资源
        最近更新 更多