zoukankan      html  css  js  c++  java
  • WebHttpBinding的流传输模式让我头大了

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

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

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

  • 相关阅读:
    2016多校赛1 A 期望 B SG博弈,状压 D 倍增,二分
    POWOJ 1739: 魔术球问题 DAG最小路径覆盖转最大流
    Codeforces 743D 树形dp
    线性规划与网络流24题 索引
    WangEditor富文本编辑器的简单使用,并将文本数据发往后台
    SSRF
    关于Blind XXE
    blind xxe攻击
    linux awk命令详解
    kali
  • 原文地址:https://www.cnblogs.com/qldsrx/p/2411537.html
Copyright © 2011-2022 走看看