• (一)WCF基础


        我们近期在做项目的时候用到了WCF,之前已经看了部分视频,对于WCF有了一定的了解,但仅限于能够根据搭建好的框架使用WCF,还不了解。所以就进行了研究,这样既有实践也能增加理论,二者结合,使用起来更胜一筹。

        小编先从一些基本的概念开始,从基础一点点开始研究。


    【WCF简介】


         WCF(Windows Communication Foundation)是由微软开发的一系列数据通信的应用程序框架,可以翻译为Windows通讯开发平台。从本质上来说,她是一套软件开发包。WCF应用程序由三部分组成——WCF服务、WCF服务主机和WCF服务客户端。


    【基本概念】


          一、终结点(EndPoing):

          定义了一个消息将被发送和接收的地址,是WCF实现通信的核心要素。一个WCF Service有一个端点集组成,每个端点就是用于通信的入口,客户端和服务端通过EndPoint交换信息。如下图能看出client和service端通过Endpoint交互。

                       

           从图中可以看出WCF由三个部分组成,Address,Contract,Binding;这三者简称为abc

           1)a(address)——在哪里

             是指定要接收的消息的准确位置和被指定为一个统一资源标识符(URL)。

             一个服务地址有一个资源。

             其表现形式为://域名[:端口]/[路径]

            

           2)b(binding)——怎样做

             实现了在client和service通信的所有底层细节,它定义了一个端点通信

             (要与传输协议相匹配),绑定的内容有:绑定所需的协议、消息编码协

             议、安全保障策略。

           3)c(contract)——做什么

             主要作用是暴露了WCF Service所提供的有效服务,通过在client端引用

             contract文件,我们就能使用服务端的提供的服务,在这之中,contract

             起到至关重要的作用,它将每个Operation转化成为相对应的

             Message Exchange Pattern(MEP)(请点击了解)。 

           补充:

             终结点还有一个组成部分是:行为(behavior),behavior主要作用是定

             制终结点在运行时的一些必要的Behavior。终结点行为通过参与构建WCF

             运行库的过程来实现这一点。

               

         二、元数据

        是WCF服务核心部分address、binding、contract的原始描述信息。服务所公开的元数据包括XSD和WSDL文档。


        XSD:文档中出现的元素、出现的属性、子元素、子元素数量、子元素顺序、元素

            是否为空、元素和属性的数据类型、元素或属性的默认和固定值。


        WSDL:用于描述服务的方法、参数、参数个数、顺序、返回值、返回值的类型等

             方法的相关信息。


        下面这张图是我们项目中从客户端,直接按F12出现的界面,从中可以看出,方法和返回值都是来自于元数据,这也是我对元数据的最初认识。

        

    【总结】

        通过对WCF理论的研究,了解了abc各自是用来做什么的,有什么作用。对WCF介绍了解了我们的系统运用WCF的为什么使用和使用的必要性,主要是实现分布式。针对绑定方式和契约会在接下来的博客继续介绍,我们一起学习,期待我的更新吧!

  • 相关阅读:
    IOC和工厂模式联合使用简化工厂模式
    免安装解压版mysql瘦身
    MYPM 国产非开源免费测试管理工具软件 WEB2.0用户体验零配置安装版本发布
    巧用Junit 静态变量
    动态加载JS和CSS
    浅谈测试管理工具对新人的潜移默化
    Pidgin——我用的环保QQ版本。无需安装解压即可运行。送上我本人写的菜鸟教材。
    我有一个梦想:WM手机商城创意。有初步的整体结构设计包括软硬件、服务器、客户端
    Form.close与Application.Exit()的区别
    ASP.NET 使用CustomValidator调用js函数动态修改验证TextBox的正则表达式,无刷新
  • 原文地址:https://www.cnblogs.com/zsswpb/p/5771620.html
Copyright © 2020-2023  润新知