当前位置 : 主页 > 网络编程 > ASP >

asp.net – 如何解决“Chunked body没有正确终止0大小的块.”?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我有一个RSS提要.当我浏览到Fiddler Web Debugger打开的源时,Fiddler向我抛出此错误: Chunked body did not terminate properly with 0-sized chunk. 触发错误的服务器响应如下所示: HTTP/1.1 200 OKDate: Tue, 22
我有一个RSS提要.当我浏览到Fiddler Web Debugger打开的源时,Fiddler向我抛出此错误:

Chunked body did not terminate properly with 0-sized chunk.

触发错误的服务器响应如下所示:

HTTP/1.1 200 OK
Date: Tue, 22 Jan 2013 21:00:49 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 30985

<rss version="2.0">
  <channel>
  ... etc

RSS的所有者在尝试将站点提交给RSS聚合器时报告问题.

我试着在这里验证rss:http://validator.w3.org/appc/.响应如下:

IncompleteRead(30985 bytes read) (IncompleteRead; misconfigured server?)

但是,如果我浏览到rss并将代码复制到此验证器:http://validator.w3.org/appc/#validate_by_input,那么一切都会正确验证.

我该如何纠正?这是在IIS6中的.NET 3.5上运行的C#ASP.NET webforms项目.

 更新

我似乎错误地使用了Fiddler.解除Decode选项后,这是服务器响应:

HTTP/1.1 200 OK
Date: Tue, 22 Jan 2013 21:22:03 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Transfer-Encoding: chunked
Cache-Control: private
Content-Type: text/xml; charset=utf-8

7909
<rss version="2.0">
  <channel>
   ... etc
您上面发布的数据不是服务器发送的数据.来自服务器的响应包含HTTP标头传输编码:chunked但您的数据未正确处于HTTP分块编码格式.

请使用Fiddler捕获的实际数据更新您的问题,确保未选中Fiddler工具栏中的Decode选项.

(至于问题的根本原因,您是否错误地调用了Response.Close()?请参阅this article以获取解释为什么这是完成HTTP响应的错误方法的原因.)

网友评论