代码之家  ›  专栏  ›  技术社区  ›  Mash

如何刷新HttpListener响应流?

  •  6
  • Mash  · 技术社区  · 15 年前

    更新: 如果没有刷新选项或定义缓冲区大小的能力,则无法对http流进行任何处理。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Nick Berardi    15 年前

    当传输编码设置为Chuncked时,Flush仅在大多数System.Net命名空间中工作,否则将返回整个请求,而Flush实际上什么也不做。至少这是我在使用HttpWebResponse时所经历的。

        2
  •  0
  •   Erich Mirabal    15 年前

    我还没有尝试过,但是为流式响应编写一个单独的TCP服务器怎么样?然后将请求从HttpListener转发到“内部”tcp服务器。使用此重定向,您可能能够根据需要将数据流传回。

    至于冲洗,我看到的唯一方法是模拟一个dispose,而不是实际的dispose。如果您可以侵入HttpResponseStream对象,告诉它进行处置,取消设置m_Closed标志等,那么您可能能够刷新流数据。