WCF基础知识

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

                       

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

                       


.托管

1.有何而来:

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

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

时间: 2024-09-20 08:57:52

WCF基础知识的相关文章

WCF基础教程之开篇:创建、测试和调用WCF

原文:WCF基础教程之开篇:创建.测试和调用WCF 一转眼,又半个月没有更新博客了.说实话,最近确实是有点忙.不过即使再忙忙,也要抽空来学习一些东西.最近用WCF比较多,就来跟大家分享一下关于WCF的知识吧!为了让大家都能看懂,照顾一些没有学过WCF的原有,就从最基础的东西写起,希望大家可以体谅.  一.创建一个简单的WCF服务   打开VS2013,新建Silverlight项目,名字自己随便起,并创建Web站点,创建完项目后,我们在Web项目中添加一个WCF服务,名字输入UserServic

C# 基础知识 (四).C#简介及托管代码

        暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了很多东西,也学到了很多东西,也认识到了很多不足之处!闲暇之余我准备重新进一步巩固C#相关知识,包括C#入门知识.C#并行开发.ASP网站等.这篇文章我介绍的是书籍--C#入门经典(Beginning C#) 作者Karli Watson.主要包括的是我自己缺乏的一些C#简介知识和托管代码的内容.内容比较简单,参照该书籍较多,相当于自己的在线笔记!                             

RESTful_基础知识

前言 本篇主要是RESTful的基础知识整理,主要是为了将要开始的Openstack架构主题做知识积累.理解好RESTful的设计思想无论是对学习Openstack架构还是Openstack Dashboard实现都是一件事半功倍的事情. RESTful REST(Representational State Transfer):是一种软件架构的设计风格,而不是一种标准.主要用于C/S架构的软件设计,也能很好的支持B/S架构,为软件设计提供了一组原则和约束条件,但这是原则和约束的条件均不具有标准

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

黑马程序员 一、java 概述与基础知识

获取更多资源关注Java帮帮IT资源分享网 一.黑马程序员-java 概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法.和手段通 过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完 成某种特定的任务.这种人和计算机之间交流的过程就是编程.   2.Java 语言概述,历史.特点 是 SUN(Stanford Universit

MFC 基础知识:主对话框与子对话框(一)

(仅供使用VS MFC初学者学习,高手莫见笑)在MFC中通常会使用点击一个按钮,弹出一个子对话框的基础知识,这些都是学习MFC的基础知识,也是非常重要的知识,这里我就简单的讲讲这些知识. 一. 设置主对话框 1.文件-新建项目(我设置的过程名为:EditSet)-MFC应用程序-该页面使用"基于对话框"-完成即可.2.在"资源视图"中打开Dialog对话框,删除"TODO:在此处放置对话框控件"和"确定"."退出&q

MFC 基础知识:主对话框与子对话框(二)

(仅供使用VS MFC初学者学习,高手莫见笑)接"MFC 基础知识:主对话框与子对话框(一)"的内容在"MFC 基础知识:主对话框与子对话框(一)"中Edit Control(编辑框)控件中输出内容,主要是想讲讲在创建的子对话框中如何实现一些操作:即添加OnInitDialog初始化函数的操作,这里的操作VS2012与VC++6.0略有些改动. 一. 主对话框编辑框中输出内容 1.找到主对话框XXXDlg.cpp中的OnInitDialog()初始化函数,在函数注释

基础知识__WebService

基础知识__WebService 本文由 Luzhuo 编写,请尊重个人劳动成果,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/50511873 微博: http://weibo.com/u/2524456400 这是一篇关于WebService的基础知识的整理 介绍 提供一种通过web方式访问的Api. 解决两个系统/应用之间的远程调用.(跨语言,跨平台) 简单应用(原理) New –> java project –> -

[C++ 面试基础知识总结]字符串,向量和数组

[C++ 面试基础知识总结]字符串,向量和数组 参考书籍:<C++ Primer> 目录 C 面试基础知识总结字符串向量和数组 目录 string string的读写 stringsize_type类型 string对象和字面值相加 vector容器 vector的初始化 使用vector的注意事项 迭代器 迭代器运算符 使用迭代器实现二分查找 数组 初始化和赋值 字符数组 数组与指针 C风格字符串 多维数组中的指针 string string的读写 #include <iostream