当前位置:

首页 > 软件教程 > WCF入门学习笔记整理

WCF入门学习笔记整理

WCF简要介绍什么是WCFWCF全名:WindowsCommunicationFoundation是微软开发的一系列支持数据通信的应用程序框架。是全新的Windows通讯开发平台。老的Windows通讯开发平台有:WebService和.netRemoting等。WCF是对这些技术做了统一。WCF为.NetFramework提供了一个基础,使其能够编写代码,以在组件、应用程序、系统之间进行通信。WCF的设计遵循的是面向服务的原则。服务是指可以通过消息与之进行交互的一段代码。服务是被动的。它们等待传

本文目录

    WCF简要介绍

    什么是WCF

    WCF全名:Windows Communication Foundation

    是微软开发的一系列支持数据通信的应用程序框架。

    是全新的Windows通讯开发平台。

    老的Windows通讯开发平台有:WebService和.net Remoting等。

    WCF是对这些技术做了统一。

    WCF学习笔记 1

    WCF为.Net Framework提供了一个基础,使其能够编写代码,以在组件、应用程序、系统之间进行通信。

    WCF的设计遵循的是面向服务的原则。

    服务是指可以通过消息与之进行交互的一段代码。

    服务是被动的。它们等待传入消息之后才开始工作。客户端是发起者,客户端将消息发送给服务来请求工作。

    使用WCF,就可以实现其所有应用程序间的通信。

    WCF可使用Web服务进行通信,还可以对WCF进行配置和扩展,以便与使用并非基于SOAP的消息的Web服务进行通信。

    WCF是提供统一的,可用于建立安全、可靠的面向服务的应用的高效开发平台。

    WCF具有如下的优势:

    1、统一性

    2、互操作性

    3、安全与可信赖

    4、兼容性

    理解面向服务(SOA)

    SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。

    SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

    SOA指出当前系统应该足够灵活,从而允许在不打乱当前成功运行的体系结构和基础结构的前提下,改动已有的体系结构。

    SOA原则:

    1、边界清晰

    2、服务自治

    3、兼容性基于策略

    4、共享模式(schma)和契约

    WCF体系架构简介

    WCF学习笔记 1

    契约与说明

    契约定义消息系统的各个方面。

    数据契约:服务中的参数;

    消息契约:使用SOAP协议特定的消息部分;

    服务契约:服务中的方法;

    策略与绑定:策略设置安全或其他条件,绑定指定传输方式与编码。

    服务运行时

    服务运行期间的行为控制

    限制行为:控制处理的消息数;

    错误行为:出现内部错误时所处理的操作;

    元数据行为:是否向外提供元数据及元数据的提供方式;

    实例行为:可运行的服务实例数目;

    事务行为:处理事务;

    调度行为:控制WCF处理消息的方式;

    消息传递

    消息传递层:说明数据的交换格式和传输模式。

    消息传递层由通道(信道)组成,通道是对消息进行处理的组件,负责以一致的方式对消息进行整理和传送。通道用于传输层、协议层、及消息获取。各层次的通道组成了信道栈。

    通道对消息和消息头进行操作,服务运行时对消息正文进行操作。

    两种类型:传输通道 与 协议通道。

    传输通道:读取和写入来自网络的消息,传输通道通过编码器将消息转换为网络传输使用的字节流,以及将字节流转换为消息。传输通道示例如:HTTP通道、命名管道、TCP、MSMQ等;

    协议通道:通过读取或写入消息头的方式来实现消息协议,协议通道示例如:WS-Security,WS-Reliability。

    承载和激活

    服务宿主:负责WCF服务的生命周期和上下文的操作系统进程,负责启动和停止WCF服务,并提供控制服务的基本管理功能。

    WCF基础概念介绍

    WCF学习笔记 1

    契约(Contract)

    WCF的基本概念是以合约(Contract)来定义双方沟通的协议,合约必须要以接口的方式来体现,而实际的服务代码必须要由这些合约接口派生并实现。合约分成了四种:

    数据合约 (Data Contract),订定双方沟通时的数据格式。

    服务合约 (Service Contract),订定服务的定义。

    操作合约 (Operation Contract),订定服务提供的方法。

    消息合约 (Message Contract),订定在通信期间改写消息内容的规范。

    绑定 (Binding)

    由于 WCF 支持了 HTTP,TCP,Named Pipe,MSMQ,Peer-To-Peer TCP等协议,

    而 HTTP 又分为基本 HTTP 支持 (BasicHttpBinding)以及 WS-HTTP 支持 (WsHttpBinding),

    而 TCP亦支持 NetTcpBinding,NetPeerTcpBinding等通信方式,

    因此,双方必须要统一通信的协议,并且也要在编码以及格式上要有所一致。

    WCF 的服务可以挂载于 Console Application,WindowsApplication,IIS (ASP.NET) Application,Windows Service以及 Windows Activation Services中,但大多都会挂在 Windows Service。

    主要的系统内置绑定:

    WCF学习笔记 1

    系统绑定支持的功能:

    WCF学习笔记 1

    终结点

    终结点是用来发送或 接收消息(或执行这两种操作)的构造。

    终结点包括一个定义消息可以发送到的目的地的位置(地址);

    一个描述消息应如何发送的通信机制规范(绑定);

    以及对于可以在该位置发送或接收(或两者皆可)的一组消息的定义(服务协定)—该定义还描述了可以发送何种消息。

    终结点的地址由EndpointAddress 类表示,该类包含一个表示服务地址的统一资源定位符(URI)。

    元数据

    所谓的“元数据”就是描述数据的数据,即描述当前服务有哪些服务契约、方法契约和数据契约以及终结点的信息。而“元数据终结点”就是向外界暴露元数据的终结点。

    当客户端添加WCF服务引用的时候,会首先通过元数据取得服务器端的契约信息、终结点信息,然后根据这些信息在客户端创建了代理类,我们在客户端调用WCF服务的过程实际上就是通过代理类调用WCF服务的过程。

    宿主(Host)

    一种应用程序域和进程,服务将在该环境中运行。

    WCF和Webservice的区别

    微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。

    WSDL来实现服务接口相关的描述。此外Webservices可以注册到UDDI中心.供其客户查找使用。后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。

    WCF:其实一定程度上就是一个特殊的ASP.NET WebService,因为它支持Web Service的行业标准和核心协议,因此ASP.NET WebService和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题(数据也支持XML格式化,而且提供了自己的格式化器)。

    小结

    本章泛泛而谈很多概念以及术语的定义,下一篇文章,我会主要讲解WCF中的ABCB这四个要素,并提供最佳实践的思考。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程 网站
    相关文章 更多
    XWiki WebDAV功能详解与使用教程
    XWiki WebDAV功能详解与使用教程

    从XWiki8.0版本开始,WebDAV功能不再是XWiki的默认捆绑组件,但你可以通过手动安装来启用它。此功能通过webdav协议暴露wiki的内容(包括附件和页面内容),使WebDAV客户端如DAVExplorer,以及文件浏览器如Windows资源管理器(适用于XP)、Finder(适用于MAC)或Nautilus(适用于Linux)能够直接浏览和编辑wiki上的内容,操作方式如同在本地文件系统中处理文件。XWiki.org通过使用WebDAV查看,浏览文件系统。使用XWiki内置的WebDAV功

    Bokeh可视化在Django中部署指南
    Bokeh可视化在Django中部署指南

    系统:Windows7语言版本:Anaconda3-4.3.0.1-Windows-x86_64编辑器:pycharm-community-2016.3.2bokeh:0.12.7本系列介绍可视化库bokeh,目标是在网站上使用今天讲讲如何在Django中使用Part1:使用场景介绍在前端显示一个柱状图柱状图的主体是在Django中完成的前端效果Part2:前端代码代码语言:javascript代码运行次数:0运行复制{%loadstaticfiles%}Bokeh-测

    GitHub标星10.2K:设备变电脑副屏神器
    GitHub标星10.2K:设备变电脑副屏神器

    导读:今天,我们为大家介绍一个实用工具:deskreen,它能够将任何设备转变为电脑的辅助屏幕,目前在Github上已获得10.2K星标。开源最前线(ID:OpenSourceTop)整理自:https://deskreen.comGithub地址:https://github.com/pavlobu/deskreenDeskreen是一款桌面应用,通过WiFi连接,可以将任何具有网络浏览器的设备转换为电脑的辅助屏幕。Deskreen能够将整个电脑显示屏镜像到任何支持Web浏览器的设备上。此外,你还可以将

    Pandas DataFrame行列转换技巧
    Pandas DataFrame行列转换技巧

    在本文中,我们将探讨如何使用Python中的pandas库将DataFrame(以下简称Df)数据转换为特定的格式,以便在前端的Datatables中渲染。今天的重点是如何将Df按行和按列进行转换。目标在网站开发过程中,经常需要将后端的Df数据转换成前端Datatables可识别的格式。这种格式通常是一个列表,其中每个元素是一个字典,字典的键对应前端表格的列名,值则对应表格的单元格值。以下是一个示例Df及其转换后的格式:转换后的列表格式如下:代码以下是实现上述转换的Python代码:importpand

    Webots R2022b正式发布更新
    Webots R2022b正式发布更新

    webots.cloud的功能确实非常出色,但如果网络连接不稳定,可能会遇到一些问题:即使网络连接不畅通,可能会导致进展缓慢,甚至几个小时都没有任何进展……此外,文档在网络不畅的情况下也难以打开:Webots参考手册R2022bWebotsR2022更改日志版本R2022b于2022年9月13日发布。新机器人:添加了来自Bitcraze的Crazyflie四旋翼机器人模型和带键盘控制的飞行演示(#4703)。添加了来自FrankaEmika的Panda机器人模型

    PHP搭建网站实战教程
    PHP搭建网站实战教程

    PHP是一种广泛使用的服务器端脚本语言,适用于开发动态网站和网站应用程序。本教程将介绍如何使用PHP搭建一个简单的网站,并提供具体的代码示例。第一步:环境搭建在开始之前,首先需要确保已经安装了PHP解释器和Web服务器(如Apache、Nginx等)。推荐使用集成开发环境,如XAMPP、WAMP等来简化配置过程。第二步:创建网站目录在Web服务器的根目录下创

    PHP在网站构建中扮演的是前端还是后端角色?
    PHP在网站构建中扮演的是前端还是后端角色?

    PHP在网站构建中扮演的是后端角色PHP作为一种服务器端脚本语言,主要用于动态网页内容的生成。在网站构建中,PHP通常扮演后端角色,负责处理数据和逻辑操作,和前端技术配合,完成网站的功能开发和实现。本文将详细介绍PHP在网站构建中的后端作用,并提供具体的代码示例。一、PHP后端角色的作用数据处理:PHP可以连接数据库,进行数据的查询、更新、插入和删除操作。

    云服务器使用攻略:轻松搭建网站应用
    云服务器使用攻略:轻松搭建网站应用

    云服务器使用攻略:轻松搭建网站应用随着互联网的快速发展,越来越多的个人和企业都希望拥有自己的网站应用,以展示产品、服务或者分享信息。而随之而来的问题是,如何快速搭建一个稳定、安全且性能优越的网站应用。在这个过程中,云服务器成为了很多人的首选,因为它具有弹性、可靠、灵活、便捷等特点,同时也能够帮助用户快速搭建网站应用。一、选择合适的云服务器提供商在开始搭建网站

    您是否熟悉网站所需的SSL证书?
    您是否熟悉网站所需的SSL证书?

    SSL证书是一种加密技术,用于确保网站与用户之间的数据传输安全。它在现代互联网中非常重要,对于任何网站来说几乎都是必备的。SSL证书通过加密网站信息,保护用户敏感数据在传输中不被窃取。当一个网站安装SSL证书后,URL会被标记为“https://”,并在浏览器中显示一个锁形状的图标,以示该网站已经通过SSL验证。这样的做法有助于增加用户对网站的信任度,并提升网站的安全性水平。SSL证书对网站的影响不仅限于安全性方面,还可以对SEO产生积极的影响。搜索引擎算法日益注重网站的安全性,因此拥有SSL证书的网站往

    如何在PHPCMS网站中添加跳转到详情页的功能
    如何在PHPCMS网站中添加跳转到详情页的功能

    在PHPCMS网站中添加跳转到详情页的功能是非常常见且重要的操作。在这篇文章中,我们将介绍如何实现这一功能,并附上具体的代码示例。首先,我们需要明确的是在PHPCMS中页面和详情页的URL结构是不同的,页面一般是通过其栏目和ID来访问(如index.php?m=content&c=index&a=lists&catid=1),而详情页

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。