理解WCF(第一部分,有參考他人)
依舊不廢話 上乾貨!
1.什么是WCF?
WCF全名是:WindowsCommunication Foundation ,是一个运行库和一组 API,用于创建在服务与客户端之间发送消息的系统。它使用相同的基础结构和 API 来创建应用程序,
这些应用程序可与同一计算机系统上或驻留在另一家公司内并通过 Internet 访问的系统上的其他应用程序进行通信。
2.它包括什么?
按照我的理解,一个最基本的WCF服务应该包括这些部分:
1)契约(CONTRACT)
WCF使用契约来定义“服务端”与“客户端”之间“服务”及“数据”等内容的格式,一般来说,主要包括服务契约,数据契约,消息契约,错误契约等,契约的声明应当是建立WCF服务的第一步。
2)服务的功能实现(ServiceBehavior?)
实现WCF服务中的具体功能,以实例应用为例,需要在SilverLight中调用WCF服务访问Oracle数据库,那么就需要实现访问数据库的功能,以及根据用户传入的参数,返回结果的功能。
3)寄宿(Host)
Service中,仅有功能的实现,但要使得WCF服务能够被网络上的其它客户端访问到,还需要经过一个寄宿的过程,通过这个过程,WCF将获得一个可访问的地址,能够被其它程序所访问。
除地址之外,在寄宿过程中,还可以配置WCF的许多属性(服务描述 Service Description),比如通信协议,服务类型等
WCF不仅可以通过IIS来寄宿服务,还可以通过其它方法,例如将WCF寄宿到EXE中,执行EXE文件来开启WCF服务
4)客户端访问(Client)
通过寄宿这一过程,WCF获得了一个可访问的服务地址,客户端可以通过访问这个服务地址,调用其中的功能。
如果是仅仅希望自己能够在项目中合理地应用WCF,那么我们可以知其然而不知其所以然,只要掌握WCF基础知识就可以了,但是我们要做的不仅仅是这样,我们还要继续去研究,探讨,争取研究出这样的技术。
理解WCF(第一部分,有參考他人)的更多相关文章
- 理解WCF(第二部分,部分參考他人)
該篇的主題:wcf到底是怎工作的? 一.什么是分布式: 首先看一张图: 由上图对比我们可以发现,区别就是前者把服务器放在了一台电脑上,而后者把服务器放在了多台电脑上.这样多台电脑处理起来的速度比一台电 ...
- WCF之契约的分类(部分為參考他人)
什么是契约呢?在使用WCF时,对其制定各种各样的规则,就叫做WCF契约.任何一个分布式的应用程序在传递消息的时候都需要实现制定一个规则. 任何一个分布式应用程序,它之所以能够互相传递消息,都是事先制定 ...
- 学习笔记之TCP/IP协议分层与OSI參考模型
1.协议的分层 ISO在制定标准化OSI之前,对网络体系结构相关的问题进行了充分的讨论, 终于提出了作为通信协议设计指标的OSI參考模型.这一模型将通信协议中必要 的功能分成了7层.通过这些 ...
- 6. GC 调优(工具篇) - GC參考手冊
进行GC性能调优时, 须要明白了解, 当前的GC行为对系统和用户有多大的影响. 有多种监控GC的工具和方法, 本章将逐一介绍经常使用的工具. 您应该已经阅读了前面的章节: 垃圾收集简单介绍 - GC參 ...
- win8硬盘安装Ubuntu14.04双系统參考教程
硬盘安装,无需光盘.U盘.win8为主.Ubuntu14.04为辅.可将Windows或Ubuntu设置为开机默认启动项.在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14.04 ...
- [Java] 实验4參考代码
题目.提示.代码.解释都已公布. 提供这些的目的不是要求大家要写得像我写得这样,而是希望大家在实验后看看别人写的代码: 1. 提升理解代码的能力. 2. 不要自满于完毕题目.要明确你的 ...
- Java第二次作业參考代码
Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...
- [Java] 实验5參考代码
实验4月3日晚截止,实验截止后将在此给出完整的參考代码. 1. 怎样使用以下的代码模板: 1.1 在eclipse中创建相应名称的类 1.2 将代码拷贝到类文件中 1.3 在//todo凝视中 ...
- [老老实实学WCF] 第一篇 Hello WCF
老老实实学WCF 第一篇 Hello WCF WCF(Windows Communication Foundation)是微软公司推出的面向服务技术的集大成者,涵盖继承了其之前发布的所有的分布式应用 ...
- 老老实实学WCF[第一篇] Hell wcf
老老实实学WCF 第一篇 Hello WCF WCF(Windows Communication Foundation)是微软公司推出的面向服务技术的集大成者,涵盖继承了其之前发布的所有的分布式应用 ...
随机推荐
- velocity 的 escape实现
EscapeHtmlReference的escape方法调用以下方法实现: StringEscapeUtils.escapeHtml(param); 再调用 org.apache.commons.la ...
- python面试题(八)
1 Python中如何使用线程池和进程池? 需要注意一下 不能无限的开进程,不能无限的开线程 最常用的就是开进程池,开线程池.其中回调函数非常重要 回调函数其实可以作为一种编程思想,谁好了谁就去掉 只 ...
- Django~表的操作
增(create , save) from app01.models import * #create方式一: Author.objects.create(name='Alvin') ...
- pycharm 用鼠标滚动调整字体大小
- app是什么意思?智能手机的第三方应用程序
APP,在手机中的意思就是application的简称,也就是应用程序的意思,一般指手机软件,是安装在手机上的软件,完善原始系统的不足与个性化.APP是智能手机的第三方应用程序,app通常分为个人用户 ...
- ACM解题之快速输出杨辉三角形(前68行)
题意: 本题要求计算并输出杨辉三角形的前 68 行. Time Limit:1000MS Memory Limit:65536K 解题: 为了能在规定时间准确输出杨辉三角形的前68行,这里我用了精准的 ...
- 常用mysql导入导出数据的命令
To export 导出指定db_name的数据: $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql 导出整个库的数据: $ mys ...
- bootstrap插件实用方法
完全通过js來配置 <p><a id="YOUR_BUTTON_FOR_POPOVER" class="btn btn-primary" ro ...
- 用C#编写猜数、九九乘法表‘、迷宫
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- comet4j开发指南
http://blog.csdn.net/majian_1987/article/details/8489738 好多朋友反映,因排版问题,文章部分边缘内容无法查看.尝试过排版,但仍无法显示正常,所以 ...