我现在是接收端,不是发送端,没法设置requst的编码格式,顶一下。

解决方案 »

  1.   

    你要自己处理那些份段??asp.net 的话 chunked 是iis替你处理的!如果是gzip 压缩也会给自动解压了
    要直接在 80 上取数据包好像不行!那要用VC 写 isapi!如果要纯裸的可以自己用 Socket 写
    或参考 .net2.0 里那个 WebDev.WebServer.EXE 的代码写个小型的 iis
      

  2.   

    FlashElf 兄:你说用 socket 自己写当然没有什么问题,处理这么个事也不会太麻烦,关键是如果这样的话,那我的程序部署起来就太麻烦了。
    我还是希望尽可能使用 asp.net 的网页来解决。另:我知道 chunked 和 gzip 压缩的数据,是 asp.net 封装起来,处理过了。可是我想,作为 asp.net 的设计者,他应当留下接口,让我们有办法直接获取裸的HTTP数据的,因为 chunked 的本意就是一段一段发送,一段一段除了可以传大文件,也是为了可以即时处理数据。如果不留下接口,那我们就没办法使用 chunked 带来的好处了。那 asp.net 这部分的设计应当是相当失败的。  请问您能确定 asp.net 里真的没有办法直接获取吗?我隐隐觉得应当是有的,可是找不到资料,网上的资料好少。
      另,我写了个 httpModule,在 BeginRequest 里也取不到原始HTTP请求数据,还是解码过的(解码过的就意味着不及时,数据都发完了才可以访问)
      

  3.   

    建议看看asp.net下的httpModule技术
      

  4.   

    顶一下,HttpModule 也没找到相关的资料,可以获取裸的 HTTP 请求信息。
      

  5.   

    请在MSDN内查阅HttpWorkerRequest类。基本上所有能够做到显示上传进度的组件,都是用HttpWorkerRequest的,既然上传进度能够计算得出,那就表明HttpWorkerRequest确实能够在上传过程中进行处理。详细的做法,建议你看看显示上传进度的组件是怎么做的。
      

  6.   

    http://msdn2.microsoft.com/zh-cn/library/system.web.ihttpmodule.aspx