• 并发

    • Single重入模式.对于每一个服务实例,同一时刻只能处理一个请求,其他对该实例的请求被排队.

      • PerCall,每一线程会分配一个新的服务实例上。不会有并发性问题。不影响吞吐量.
      • PerSession,保护服务实例不会受到多线程客户端的影响.多客户端可以并发访问,无并发性问题。减少单一客户端吞吐量.
      • Singleton, 实例不受任何并发访问影响。多线程和多客户端都无法并发访问。吞吐量最小.
    • Retrant重入模式.
      • 客户端可以对同一服务实例,可以进行第2次或者多次的请求进入。
      • 单线程,用于回调不是One_way的,当服务退出时释放锁以发起回调.
      • PerCall: 在SingleMode中。调用回调时,当回调完成返回到Service时,由于不可重入,被挡在外面等待。WCF会在该情况时。异常。
      • Reentrant:回调的调用可以进入Service的实例中。不会有死锁.
      • PerSession:允许多线程客户端并发访问.单件:允许任何线程调用服务实例.
    • Multip重入模式
      • 可以增大吞吐量,当服务实例进行处理时,系统不会自动加锁,对临界资源手动处理.
      • 分别对Cache/Session共享状态/服务实例进行加锁.
  • 限流
    • 通过ServiceThrottle进行配置.每一个Session对应一个实例,但不是每一个实例对应一个Session,所以Session个数<实例数量.
    • 跨服务主机的负载平衡能力对可扩展性有影响.会话影响负载平衡:党没有会话时,请求可以被分配到任何主机上,对于传输层会话,需要Sticky IP.对于其他的会话,需要Sticky会话.
  • WCF对于Stream操作规定了一些限制.
    • 1)只有部分绑定支持,而且在使用Stream操作时,不能使用Reliable Messaging.
    • 2)对于Stream对象本身,FileStream是不可序列化的,当我们把一个FileStream对象作为Stream类型返回给客户端,在客户端,我们仅仅能够使用Stream类型,而不能转化为原本的FileStream类型.而且Stream.Length的调用会抛出异常,原因是不支持Length属性的序列化.
    • 3)必须修改TransferMode的值.
    • 4)Stream对象的大小不能超过MaxReceivedMessageSize的设置,该属性的最大值为Int.MaxValue.
    • 5)涉及Stream的操作的返回值,参数,ref,out参数中只能有一个是Stream对象.
    • 6)Stream不支持Session,按照Session的配置得到的结果仍然是PerCall.另外,Stream对象可能较大,所以应该增大绑定的SendTimeout.

最新文章

  1. codeforces 754D. Fedor and coupons
  2. UItableVIew初探
  3. JS_Ajax基础
  4. VS2008下使用 CMFCPropertyGridCtrl 转载
  5. [CentOS]yum安装postgres和ntfs-3g
  6. shuffle() 函数(转)
  7. 使用Japserreport填充报表数据(3)
  8. Oracle数据 行转列
  9. schema for clojure
  10. supervisor安装配置
  11. wamp问题:关于另个php.ini文件的”…
  12. JS--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)
  13. 【RL-TCPnet网络教程】第21章 RL-TCPnet之高效的事件触发框架
  14. js下载base64格式的图片(兼容火狐)
  15. qml: 自定义输入框
  16. 2018牛客网暑期ACM多校训练营(第三场)C Shuffle Cards(可持久化平衡树/splay)
  17. 20165306 2017-2018-2《Java程序设计》课程总结
  18. 关于spark进行实时日志解析,保存hbase与mysql
  19. python的数字图像处理学习(2)
  20. zabbix rpm 安装 新增zabbix yum 源 并更新

热门文章

  1. android调用系统相机拍照并保存在本地
  2. linux下网络编程常见问题
  3. IT思想类智力题
  4. Linux上安装使用boost入门指导
  5. Working with MTD Devices
  6. EMS电子面单接口对接使用-免费版
  7. Oracle基础 物理备份 冷备份和热备份(转)
  8. Windows8不联网直接安装.Net 3.5 Framework的方法
  9. Oracle基础&lt;4&gt;--程序包
  10. Plupload文件上传组件使用API