【发布时间】:2010-09-09 07:20:38
【问题描述】:
一个 J2ME 客户端正在发送带有分块传输编码的 HTTP POST 请求。
当 ASP.NET(在 IIS6 和 WebDev.exe.server 中)尝试读取请求时,它会将 Content-Length 设置为 0。我想这没关系,因为加载请求时 Content-length 是未知的。
但是,当我将 Request.InputStream 读到最后时,它返回 0。
这是我用来读取输入流的代码。
using (var reader = new StreamReader(httpRequestBodyStream, BodyTextEncoding)) {
string readString = reader.ReadToEnd();
Console.WriteLine("CharSize:" + readString.Length);
return BodyTextEncoding.GetBytes(readString);
}
我可以用 Fiddler 模拟客户端的行为,例如
网址 http://localhost:15148/page.aspx
标题: 用户代理:提琴手 传输编码:分块 主机:somesite.com:15148
身体 兔兔兔兔。谢谢光临,很有用!
我上面的正文阅读器将返回一个长度为零的字节数组...蹩脚...
有人知道如何在 IIS 和 ASP.NET 开发服务器 (cassini) 上启用分块编码吗?
我为 IIS 找到了 this script,但它不起作用。
【问题讨论】:
标签: asp.net asp.net-mvc chunked-encoding