WCF 宿主与通信模式(二)
2015-06-17 14:53
134 查看
宿主
每个WCF服务都必须托管在Windows进程中,该进程称为宿主进程(host process)单个宿主进程可以托管多个服务,相同的服务类型也可以托管在多个宿主进程中。
wcf中托管服务一般有一下四种:
寄宿方式 | 描述 |
Console寄宿 | 利于开发调试,但不是生产环境中的最佳实践。 |
winform寄宿 | 方便与用户进行交互,用户想开就开,想关就关,但如果机器重启了,不得不自己手动开一下,危险+麻烦。 |
IIS寄宿 | 此寄宿在实战项目中得到了广泛的应用。好处有:随系统启动和停止。iis有大量的管理策略对其进行管理。即想利用wcf的功能,还想访问asp.net的功能。 |
Window Service 寄宿 | 这个寄宿在实战中也是广泛运用的,同时也是随系统开启或者停止。 |
通信模式
WCF在通信过程中有三种模式:请求与答复、单向、双工通信。模式 | 描述 | 特点 |
请求与答复模式 | 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务端有了答复后才能继续执行其他程序。 | 请求与答复模式为WCF的默认模式,即使返回值是void 也属于请求与答复模式。 缺点:如果用WCF在程序A中上传一个2G的文件,那么要想执行程序B也许就是几个小时后的事情了。如果操作需要很长的时间,那么客户端程序的响应能力将会大大的下降。 优点:有返回值我们就可以向客户端返回错误信息,如:只接收".rar"文件等信息。 |
单向模式 | 客户端向服务端发送求,但是不管服务端是否执行完成就接着执行下面的程序。 | 优缺点与“请求响应模式”差不多倒过来。 特点:使用 IsOneWay=true 标记的操作不得声明输出参数、引用参数或返回值 |
双工模式 | 双工模式建立在上面两种模式的基础之上,实现客户端与服务端相互的调用。相互调用:以往我们只是在客户端调用服务端,然后服务端有返回值返回客户端,而相互调用不光是客户端调用服务端,而且服务端也可以调用客户端的方法。 | 双工模式是建立在以上两种模式之上的模式,他们并不冲突。 支持回调的绑定有4种:WSDualHttpBinding、 NetTcpBinding、 NetNamedPipeBinding、 NetPeerTcpBinding |
相关文章推荐
- Selenium2学习-012-WebUI自动化实战实例-010-解决元素失效:StaleElementReferenceException: stale element reference: element is not attached to the page document
- 设计模式之Adapter模式(笔记)
- SVG基础 | SVG PATH 元素
- jQuery实现复选框批量选择与反选的方法
- 【伊利丹】Hadoop-2.5.0-CDH5.2.0/Hive与Hbase整合实验
- xcode指令集设置
- 机器学习中的相似性度量
- 托盤
- redhat7基本命令操作
- mysql中 insert …select …带来的死锁问题
- Jackson 框架,轻易转换JSON
- tcp的三次握手和四次挥手
- 架构师到底要做什么?
- 运算符,条件运算符
- 返回一个二维整数数组中最大联通子数组的和
- 随笔
- 页面位置
- 互联网+的是泡沫吗
- WIN8系统开启远程桌面设置及需要注意的地方图文教程
- 【MySQL】优化参考