WCF学习总结——什么是WCF以及用WCF解决什么问题

  学习了两节WCF相关的知识之后,突然回过头来想想到底什么是WCF,用WCF来解决哪些问题,学习WCF需要学哪些东西?这一大堆的问题,自己还是比较模糊。现在想把这些东西归纳起来,不要盲目的学习,只能跟着别人的博客走,不知道为什么要学,让自己也少一些迷茫,学习起来更有针对性。好了,开始解决问题。

  1. 什么是WCF?

  WCF(WindowsCommunication Foundation)是用于构建面向服务的应用程序的框架(这个框架中就涉及到:契约Contract、服务Service、寄宿Host,再加上调用服务的客户端Client)。

  WCF是微软分布式应用程序开发的集大成者,它整合了.net 平台下所有的和分布式系统相关的技术,例如:.Net Remoting、ASMX(ASP.NET Web Services)、WSE(Web Service 增强包)和MSMQ。

  以通信范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于Internet;

  以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。

  WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML,Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包罗在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。(那么SOA又是一个什么概念呢?SOA是一种IT体系结构样式,支持将业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务,这个网络可以是局域网也可以是广域网,而且可能采用不同的技术进行访问,通过对来自网络各地的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。需要时,这些服务可以将自己组装为按需应用程序——即相互连接的服务提供者和使用者集合,彼此结合以完成特定业务任务,使您的业务能够适应不断变化的情况和需求。)

 

  根据MSDN上的定义:WCF为.NetFramework 提供了一个基础,使其能够编写代码,以在组件、应用程序、系统之间进行通信。WCF的设计遵循的是面向服务的原则。服务是指可以通过消息与之进行交互的一段代码。服务是被动的。它们等待传入消息之后才开始工作。客户端是发起者,客户端将消息发送给服务来请求工作。

 

  2.WCF用来解决什么问题?

  从什么是WCF中了解了WCF是分布式应用程序开发方面的框架。

      而分布式应用程序要求将原本被隔离的作用域通过一定的契约联系起来,从而达成多个系统的沟通协作。

      在Win32中,应用程序是运行在进程的线程中的,.net平台出现之后,出现了AppDemian,其实就相当于在进程和线程之间又有了一层包装,类似于子进程的概念,在一个进程(或者应用程序域)中的对象能进行直接的访问和控制,但超出这个范围,并不能进行直接的访问和控制了,所以说进程(或者应用程序域)有一定的隔离作用,如果是分布在不同网络,不同操作系统上的不同进程,他们进行通讯的难度就更大。

  WCF作为一种分布式应用程序开发的框架,可以解决这个难度。

转载于:https://www.cnblogs.com/cuier/archive/2010/12/29/1920375.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Visual Studio 中创建 WCF 服务时,有两种项目类型可供选择:WCF 服务应用程序和 WCF 服务库。这两种项目类型有以下区别: 1. WCF 服务应用程序是一种可执行文件,它包含了一个独立的 WCF 服务宿主。这意味着您可以直接运行 WCF 服务应用程序,并使用其自带的服务宿主来运行和测试您的 WCF 服务。当您部署 WCF 服务时,您可以将 WCF 服务应用程序部署到 IIS 或自定义的 Windows 服务中。 2. WCF 服务库是一种库项目,它包含了一个或多个 WCF 服务契约和实现类。这意味着您必须将 WCF 服务库引用到另一个托管应用程序中,然后手动配置该应用程序的服务宿主来运行和测试您的 WCF 服务。当您部署 WCF 服务时,您可以将 WCF 服务库部署到 IIS 中,但必须将其部署为 WCF 服务应用程序的一部分。 3. WCF 服务应用程序和 WCF 服务库的项目结构也不同。WCF 服务应用程序包含了一个 .svc 文件和一个 Web.config 配置文件,用于配置 WCF 服务宿主和服务终结点。而 WCF 服务库只包含 WCF 服务契约和实现类,这些类通常包含在一个或多个 .cs 文件中。 4. 在使用 WCF 服务应用程序时,您可以使用 Visual Studio 自带的 WCF 测试客户端来测试您的 WCF 服务。而在使用 WCF 服务库时,您必须手动编写测试客户端或使用第三方测试工具来测试您的 WCF 服务。 总之,WCF 服务应用程序是一种独立的 WCF 服务宿主,适用于独立运行和测试 WCF 服务。而 WCF 服务库则是一种库项目,适用于将 WCF 服务集成到其他托管应用程序中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值