开发者社区> leanring> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

WCF基础知识

简介:
+关注继续查看
【学习背景】
	在之前的几篇博客中,我们了解到了WCF从哪里来,什么是WCF,这篇博客,我们继续学习有关WCF的基础知识。
【学习内容】
	一.地址
	1.地址格式
		地址通常采用如下格式:
			[基地址] / [可选的URI]
		基地址(Base Address)通常的格式如下:
			[传输协议] : // [机器名或域名] [:可选端口]
	ITOO学籍管理示例:

                       

	含义是:
		采用HTTP协议访问localhost机器,BasicStudentService服务在8335端口处等待用户的调用。
	2.地址类型:
		TCPHTTPPeer network(对等网)、IPC(基于命名管道的内部进程通信)、MSMQ
 
	.契约
	1.是什么:
		与平台无关,是描述服务功能的标准方式。
	2.契约类型:
		服务契约(Service Contract):描述了客户端能够执行的服务操作。
		数据契约(Data Contract):定义了与服务交互的数据类型。
		错误契约(Fault Contract):定义了服务抛出的操作,以及服务处理错误和传递错误到客户端的方式。
		消息契约(Message Contract):允许服务直接与消息交互。极少使用
	3.定义与使用:

                       



.托管

1.有何而来:

每个WCF服务都必须托管。在Windows进程中,该进程被称为宿主进程(Host Process。单个宿主进程可以托管多个服务,而相同的服务类型也能够托管多个宿主进程中。宿主可以由IIS提供,也可以由WindowsVistaWindows激活服务提供,或者开发者直接将它作为应用程序的一部分。

2.IIS托管:

优势:宿主进程可以在客户端提交第一次请求的时候自动启动,还可以借助IIS管理宿主进程的生命周期。

缺点:只能使用HTTP协议。

3.Web.Config文件:

配置文件中必须列出需要公开为服务的类型。类型使用类型全名,如果服务类型来自于一个没有被引用的程序集,则还需要包括程序集名:

ITOO学籍管理模块:

.绑定

1.从何而来:

服务之间的通信方式多种多样,可能存在多种通信模式。

同步/异步请求、即时/持久消息;

传输协议也有多种;消息编码格式也存在多种,消息的安全保障也有多种策略。

客户端与服务必须合理的组合这些选项,才能保障通信的顺畅。

为了简化这些选项,使它们易于管理,WCF引入了绑定。

2.是什么:

一个绑定封装了诸如传输协议、消息编码、通信模式、安全性等相关选项的集合,使它们保持一致。

3.9种标准绑定:

基本绑定(Basic Binding):由BasicHttpBinding类提供。

其它绑定:TCP/对等网/IPC/Web服务/WS联邦/WS双向/MSMQ/MSMQ集成绑定。

    基本绑定的格式与编码:

BasicHTTPBinding: HTTP/HTPPS协议,Text/MTOM编码格式,支持互操作性。

五.终结点:

     1.是什么:
     服务与地址、绑定以及契约有关。
     其中,地址定义了服务的位置,绑定定义了服务通信的方式,契约定义了服务的内容。
     WCF中便用终结点表示这样一种组成关系,终结点就是地址、契约与绑定的混成品。
2.管理方式配置终结点:

ITOO中终结点的配置:

学习心得】

通过这一次的学习,算是把WCF的基础知识系统的学习了一遍。之前总是在代码中知道,有个模板怎么写,自己也就跟着那么写,并不清楚,代码的具体内涵。而现在有了代码和基础知识的结合,自己也明白了为什么会这么写,以及这么写的含义。这些基础知识点,还是需要自己点点滴滴去积累的。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
软考基础知识笔记
【1.计算机组成与结构】 【计算机中数据的表示】: 定点数:所有数据的小数点位置是固定的,小数点位置在数据最高位是定点小数,在最低位是定点整数,会有溢出的情况发生 浮点数:阶符,阶码,数符,尾数 组成, 尾数决定精度,阶码决定数据范围,最适合浮点数阶码的数字编码是移码 数的机器码表示: 原码:符号位表示该数的符号,0正1负 。
1587 0
摄影基础知识
一、光圈(Aperture)   光圈是用来控制通过镜头进入相机内感光元件的光线数量   光圈f值 = 镜头的焦距 / 镜头口径的直径 常见的光圈:f2,f2.8,f4,f5.6,f8,f11,f16,f22 f值越小,镜头口径越大,同一时间的进光量越大,此时应适当将快门调慢   光...
468 0
js的基础知识笔记
目录 一、基本数据类型 二、函数 三、面向对象 一、基本数据类型 1、使用var声明变量、使用;结尾、使用{}表示代码块、使用驼峰式命名 2、变量是弱类型的,即并不严格要求声明变量的类型,一个变量可以在运行期间动态的指向不同类型的数据 3、变量声明后可以不定义(或叫赋值、初始化),此时它的值是u...
706 0
C++基础知识一
function: 用于声明一个函数,函数声明后,可以在需要的时候调用。 <string>:包装了std的C++头文件,对应的是新的strng类。 main:操作系统通过调用main函数来运行C++程序,返回类型必须为int,即整数类型。 int类型是一种内置类型,即语言自身的类型。
0 0
css基础知识
css基础知识
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载