webHttpBinding支持流传输和缓存模式2种,如果要提供文件下载,肯定是要选择流传输模式的,不然文件要全部加载到内存后才会发送出去,不但占内存开销大,还影响了发送响应的速度。问题是流传输下面,自动使用了Transfer-Encoding:chunked的方式,这种方式将不告知客户端文件长度,即使我服务器设置消息头也没用,客户端就是得不到长度,导致了客户端以为我服务端不支持断点续传,甚至多线程下载都不能使用,除非自己开发一个下载软件,反正传统的下载软件都不支持,唯独NetTransport还能尝试在不知道是否能续传的情况下,发送续传指令,算是最人性化的软件了。

想来想去,只有一个方法可以考虑了,就是改造 webHttpBinding 的缓存模式,缓存模式是传统的http响应,各种http头都可以设置,自然断点续传,多线程传输都可以使用,所需解决的问题是消息的写入,不能写缓存,而是实时从流中获取(如果返回的是流对象)。

研究方向确定,接下来看能否成功自定义一个 webHttpBinding 类似的绑定类出来了。待续……

转载于:https://www.cnblogs.com/qldsrx/archive/2012/03/22/2411537.html

WebHttpBinding的流传输模式让我头大了相关推荐

  1. LiveGBS高性能GB28181国标流媒体服务流传输模式支持UDP、TCP被动、TCP主动模式

    LiveGBS国标(GB28181)流媒体服务软件: 提供用户管理及Web可视化页面管理: 提供设备状态管理,可实时查看设备是否掉线等信息: 实时流媒体处理,PS(TS)转ES: 设备状态监测.云台控 ...

  2. tcp码流中查找rtp头_跟踪数据流中的时间以查找性能问题

    tcp码流中查找rtp头 We're facing a challenge with several of our data flows that use more time than they ha ...

  3. h264码流及h265码流结构分析,NAL头类型分析

    视频编码标准规定了编码后码流的语法语义,也就阐明了从比特流提取语法元素并进行解释的方法,也就是视频的解码过程.   1.h264码流结构解析:     H.264/AVC(Advanced Video ...

  4. 姐姐告诉我提眉的危害是什么,提眉术后多久可以恢复,纳尼,头大了

    姐姐告诉我提眉的危害是什么,提眉术后多久可以恢复,纳尼,头大了 一顾倾人城,再顾倾人国.说起美人,也许每个人心中都有一种想象.她们长裙飘逸,蕙质兰心,或明艳丰美,或清婉柔丽.随着年龄的增大,很多女性的 ...

  5. java8系列02——Stream流

    Stream流 目录 Stream流 1 快速入门 2 创建流 3 中间操作 3.1 filter 3.2 map 3.3 distinct 3.4 sorted 3.5 limit 3.6 skip ...

  6. I/O流的概念和流类库的结构

    概念: 程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件. C++输入输出包含以下三个方面的内容: 1.对系统指定的标准设备的输入和输出.即从键盘输入数据,输出到 ...

  7. 关于字符串流的学习(c++)

    /* 字符串流 在字符数组中可以存放字符,也可以存放整数.浮点数以及其他类型的数据.在向字符数组存入数据之前,要先将数据从二进制形式转换为ASCII代码,然后存放在缓冲区,再从缓冲区送到字符数组.从字 ...

  8. 用于MPEG-4视听流的RTP负载格式

    MPEG-4的rtp协议封装 英文原版 RFC 3016:http://www.rfc-editor.org/rfc/rfc3016.txt 中文翻译: 组织:中国互动出版网(http://www.c ...

  9. 国标MPEG-PS实时流播放器开发(附例子)

    公安部制定的GBT 28181标准广泛应用于安防领域,这个标准规定了传输的视音频数据要封装成PS流格式.PS格式(原名叫MPEG-PS)在很多领域已经应用了很长一段时间,特别是在安防.广播电视.影音制 ...

最新文章

  1. html景图片怎么设置百分比,8个风光照片拍摄技巧
  2. 2013年,我跟哥们都是大厂Java工程师!后来,他转行了!现在,他的收入是我的5倍!...
  3. centos7 mysql 5.6.38_centos7.4 安装mysql 5.6.38
  4. Linux中look命令,如何在Linux上使用look命令 | MOS86
  5. ES6常用知识点概述
  6. mysql 分区表优化_Sql优化之Mysql表分区
  7. Java黑皮书课后题第5章:**5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和。就称之为完全数。如6是第一个完全数,因为6=1+2+3。10000以下的完全数有4个,编写程序找出
  8. 事务管理基础:数据库的并发控制相关知识笔记
  9. java学习(107):StringBuilder
  10. 关于 ssh-keygen 的一点疑问
  11. 内部跳转(请求转发)和外部跳转(重定向)的区别?
  12. JNI学习积累之三 ---- 操作JNI函数以及复杂对象传递
  13. 树莓派安装smbus_树莓派安装wiringPi,BCM2835,以及python的RPI.GPIO
  14. 简易租赁合同(免费)
  15. tinyTorrent: 从头写一个 Deno 的 BitTorrent 下载器
  16. Samba:centos服务器之间相互共享文件夹,可以用win10连接共享文件夹,并可以使用Docker部署
  17. “没有定义根文件系统,请回到分区菜单以修正此错误”
  18. 字符串操作函数strstr
  19. gitub优秀的android开源项目
  20. 计算机视觉:特征提取与匹配

热门文章

  1. QT的QTreeWidgetItem类的使用
  2. 经典C语言程序100例之八
  3. micropython文件上传软件_ESP32玩转MicroPython(二) 连接WIFI网络 webperl文件传输
  4. 计算机行业就业前景局限性,市场缺口很大的3个大学专业,一毕业就很吃香,就业前景很光明!...
  5. 「JupyterNotebook」Jupyter快捷键个人笔记
  6. 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
  7. 第十天:估算活动持续时间,类比估算,参数估算,自下而上估算,三点估算解析表
  8. SSh结合Easyui实现Datagrid的分页显示
  9. Python基础概念_5_函数
  10. 书籍折页是什么效果_Word的书籍折页是什么 如何设置Word的书籍折页