zoukankan      html  css  js  c++  java
  • WCF 宿主与通信模式(二)

    宿主

    每个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

  • 相关阅读:
    [NOIP模拟赛][贪心]奶牛晒衣服.
    BZOJ3750: [POI2015]Piecz
    BZOJ2348 [Baltic 2011]Plagiarism
    高精度乘法【高乘高
    codevs 1215 迷宫
    变量交换
    a+b问题与圆柱体表面积的计算
    算数表达式的练习
    [bzoj1070][SCOI2007]修车[ 网络流]
    [bzoj2502]清理雪道[上下界网络流]
  • 原文地址:https://www.cnblogs.com/birdwawe/p/4583326.html
Copyright © 2011-2022 走看看