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

  • 相关阅读:
    MongoDB集群架构 调整,增加延迟备份节点服务器,删除仲裁节点(9)
    MongoDB 副本集管理-不定期更新(8)
    DML和查询操作说明(7)
    MongoDB 副本集权限认证(6)
    python之路——作业:Select FTP(仅供参考)
    python之路——作业:类Farbic主机管理程序(仅供参考)
    python之路——作业:高级FTP(仅供参考)
    python之路——RabbitMQ
    python之路——协程(greenlet、gevent、简单爬虫)
    python之路——多进程(进程间通信、进程池)
  • 原文地址:https://www.cnblogs.com/birdwawe/p/4583326.html
Copyright © 2011-2022 走看看