加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

比一比 WebService和WCF

发布时间:2020-12-16 22:46:36 所属栏目:安全 来源:网络整理
导读:?? ???通过做项目,对WCF有了一个全新的认识。那么他和WebService又有什么区别,他俩哪个更好呢?应该是各有各的好处吧。 什么是WCF? ??? .NET平台下的框架产品,由微软开发的一系列支持数据通信的应用程序框架,是Windows平台上开发分布式应用最佳的实践方
??

???通过做项目,对WCF有了一个全新的认识。那么他和WebService又有什么区别,他俩哪个更好呢?应该是各有各的好处吧。

什么是WCF?

??? .NET平台下的框架产品,由微软开发的一系列支持数据通信的应用程序框架,是Windows平台上开发分布式应用最佳的实践方式。
???简而言之,就是为构建面向服务的应用提供的分布式编程框架,使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。

?? ?WCF的基本概念是以契约来定义双方沟通的协议,合约必须要以接口的方式来体现,实际的服务代码必须要由这些合约接口派生并实现。

WCF的体系架构:

??? 契约:契约属于一个服务公开接口的一部分吗,一个服务的契约,定义了服务端公开的方法,使用的传输协议,可访问的地址传输的消息格式等内容。

??? 服务运行:服务运行方面定义了服务在运行时的具体行为。

??? 消息:消息方面包含了消息的传输方式、消息的编码与解码。消息方面的内容基本属于服务边界以内的具体实现。具体的传递实现,必须符合在契约中定义的绑定协议。

??? 激活和宿主:一个WCF服务需要在一个可运行的程序中寄宿,常用的寄宿方式包括自寄宿、IIS寄宿、WAS、Windows服务,COM+组件等。

??? ServiceContract:包括ServiceContract和OperationContract,ServiceContract用于类或者结构上,用于指示WCF此类或者结构能够被远程调用;OperationContract用于类中的方法上,用于指示WCF该方法可被远程调用。


<span style="font-family:KaiTi_GB2312;font-size:18px;">[ServiceContract]
    public interface IBasicOrganizationService
    {
        #region QueryAllOrganization-机构信息查询-赵亚盟-2015年5月19日20:17:28
        [OperationContract]
        List<BasicOrganizationViewModel> QueryAllOrganization();
        #endregion
  #endregion
    }</span>


???? DataContract:分为DataContract和DataMember,DataContract用于类或者结构上,指示WCF此类或者结构能够被序列化或者传输,也可以使用[Seralizable]代替;DataMember只能用在类或者结构的属性或者字段上,指示WCF该属性或者字段能够被序列化传输。

<span style="font-family:KaiTi_GB2312;font-size:18px;">[Classes("职务")]
    [DataContract]
    public class  BasicJobViewModel
    {       
        [Colum("职务代码",DbType = DbType.String)]
        [DataMember]
        [DisplayName("代码")]
        public string JobCode { get; set; }
    }
</span>


??? FaultContract:错误契约,默认情况下,服务抛出的异常均以FaultException类型传递到客户端,通过它列出服务能够抛出的错误类型。

??? MessageContract:消息契约,它能自定义消息格式,包括消息头,消息体,还能指示是否对消息内容进行加密和签名。


什么是WebService?

??? 平台独立的、低耦合的、自包含的、基于可编程的Web的应用程序,可使用开放的XML标准来描述、发布、协调和配置这些应用程序,用于开发分布式的互操作性应用程序。

????简而言之:通过访问和使用远程Web服务可以访问不同系统中的数据。在使用时,通过Web服务Web应用程序不仅可以共享数据,还可以调用其他应用程序生成的数据,而不用考虑其他应用程序是如何生成这些数据的。

????特点:开放性、跨平台性;返回数据而不是返回页面。

??? 总结:使用Web服务能够实现数据重用和软件重用,这为建立松散偶合型的分布式系统提供了方便,实现Web服务需要HTTP、SMTP、SOAP、WSDL和UDDI等协议的支持;建立WCF服务需要建立服务定义文件、服务接口文件和服务逻辑处理文件。在使用WCF服务时,需要首先添加服务引用,再应用到Web窗体中

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读