我已经完成了几个在线教程,涵盖了WCF的优势,如何构建服务/客户端等。
但是,我想知道一些全貌。
问题>应用程序中的哪种应用程序或哪些功能要求我使用WCF功能?一个具体的例子可以帮助我更好。
答案 0 :(得分:13)
有几种情况会“需要”WCF。首先应该注意的是,“require”是一个强有力的词,而WCF是当前用于.NET通信的首选模型,该平台具有其他方法的历史,这些方法仍然受到支持。
具体示例1 : 你的网络应用程序表现不佳,因为准备响应的一些计算工作“计算成本高”并且正在耗尽CPU。您希望将费用部分移动到在另一个框上运行的服务,您可以在该框中为其分配资源。您创建一个WCF服务,该服务包装功能并将该服务部署到另一个框,使用代理类通过网络访问它。
具体示例2 : 您的Windows应用程序需要访问防火墙后面的资源,而这些资源是您的用户无法渗透的。因此,您选择在DMZ中部署服务,应用程序可以使用该服务,DMZ中的服务访问受限材料并将结果返回给您的应用程序。
WCF是一个功能强大的工具,在帮助服务开发方面做了不可思议的事情,尤其是在开发基于SOAP的服务时。另一方面,有许多人认为目前编写RESTful服务的更简单方法是使用ASP.NET MVC的WebAPI。 WebAPI最初是作为WCF团队的一个项目,但由于各种原因最终被转移到MVC。如果您对REST感兴趣,我建议您查看WebAPI。
答案 1 :(得分:2)
在构建需要相互通信的应用程序或服务时,WCF非常有用。
您可以使用WCF轻松构建通信程序,无论是跨进程,跨服务器还是跨世界。
答案 2 :(得分:2)
将WCF视为跨越传统上非常难以跨越的边界投影应用程序服务(功能)的一种方式。 HTTP(S)是启用此功能的一种方法。考虑REST原则,你会得到一些非常优雅的解决方案,这些解决方案非常易于操作。基于WCF的服务还为您在不同环境中部署解决方案提供了更大的灵活性。它会影响非功能性元素,如安全性和扩展性以及扩展性讨论。