【问题标题】:When & where I should use WCF我应该在何时何地使用 WCF
【发布时间】:2013-07-09 00:20:43
【问题描述】:

我浏览了几个在线教程,涵盖了 WCF 的优势、如何构建服务/客户端等。

不过,我想了解一点全貌。

问题> 什么样的应用程序或应用程序中的哪些功能需要我使用 WCF 功能?一个具体的例子应该对我有更好的帮助。

【问题讨论】:

  • 您永远不需要使用 WCF 功能
  • @SLakes,对不起,我没有以正确的方式提出问题。我真正的意思是,WCF 可以为我的应用程序做什么,以及应用程序中的哪些功能可以用 WCF 实现。

标签: wcf


【解决方案1】:

有几种情况会“需要”WCF。首先应该注意,“require”是一个强词,虽然 WCF 是当前 .NET 中通信的首选模型,但该平台有其他方法的历史,这些方法都仍然受支持。

具体示例1: 您的 Web 应用程序性能不佳,因为准备响应的一些计算工作“计算成本很高”并且正在消耗 CPU。您希望将费用部分移至在另一个盒子上运行的服务,您可以在其中为其提供隔离资源。您创建一个 WCF 服务来包装功能并将该服务部署到另一个盒子,使用代理类通过网络访问它。

具体例子2: 您的 Windows 应用程序需要访问您的用户无法穿透的防火墙后面的资源。因此,您改为选择在 DMZ 中部署应用程序可以使用的服务,该服务从 DMZ 访问受限材料并将结果返回给您的应用程序。

WCF 是一个功能强大的工具,并且在帮助服务开发方面做出了令人难以置信的事情,尤其是在您开发基于 SOAP 的服务时。另一方面,有很多人认为目前编写 RESTful 服务更简单的方法是使用 ASP.NET MVC 的 WebAPI。 WebAPI 最初是 WCF 团队的一个项目,但由于各种原因最终被转移到 MVC 中。如果您对 REST 感兴趣,我建议您查看 WebAPI。

【讨论】:

    【解决方案2】:

    将 WCF 视为一种跨越传统上很难跨越的边界来投射应用程序服务(功能)的方法。 HTTP(S) 是启用此功能的一种方式。将 REST 原则考虑在内,您将获得一些非常优雅且可互操作的解决方案。基于 WCF 的服务还为您在如何在不同环境中部署解决方案提供了更大的灵活性。它也会影响非功能性元素,例如安全性和纵向扩展与横向扩展讨论。

    【讨论】:

      【解决方案3】:

      WCF 在构建需要相互通信的应用程序或服务时很有用。

      您可以使用 WCF 轻松构建进行通信的程序,无论是跨进程、跨服务器还是跨世界通信。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-03
        • 1970-01-01
        • 2017-12-12
        • 1970-01-01
        相关资源
        最近更新 更多