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 找到了这个脚本,但它不起作用。