zoukankan      html  css  js  c++  java
  • (一)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的为什么使用和使用的必要性,主要是实现分布式。针对绑定方式和契约会在接下来的博客继续介绍,我们一起学习,期待我的更新吧!

  • 相关阅读:
    一.创建型模式 Factory
    Tcp/Ip I/O函数
    Tcp/Ip协议理解_简单实例
    Tcp/Ip协议理解_3
    Tcp/Ip协议理解_2
    Tcp/Ip协议理解_1
    abp+angular+bootstrap-table的使用
    Abp mvc angular 添加视图
    Abp添加菜单
    JS 获取一串路径中的文件名称
  • 原文地址:https://www.cnblogs.com/zsswpb/p/5771620.html
Copyright © 2011-2022 走看看