ASP.NET POST-DATA截断为49152字节(48K)

时间:2012-01-20 20:16:37

标签: asp.net postdata

我遇到错误,其中viewstate无法解码,并且一些错误追溯到http post数据被截断为恰好48K(49152)字节的事实。

这是listed,是.NET 2.0 SP1中的fixed错误之一。我目前有.NET 3.5 SP1。

每个帖子似乎都没有出现此问题。有什么想法吗?

  

KB 945757 .NET Framework 2.0 Service Pack 1中修复的问题

     

KB 925248 FIX:当连接ASP.NET的应用程序收到POST请求时,POST请求中的数据被截断为49,152字节

编辑:在我向表单添加编码指定后,在我的错误日志中捕获了其中一个错误。它显示内容类型已正确设置为url-encoded,内容长度超过49152.但错误日志中的后期数据转储再次正好是49152字节。我可以通过从页面多次单击“提交”按钮来重新创建它。我认为用户这样做是因为页面由于某种原因处理得非常慢(之前要快得多)。可能是随后的提交遭遇了这种截断。我的修复可能是再次使页面快速和/或从第一次单击中禁用该按钮。

2 个答案:

答案 0 :(得分:1)

我知道 IIS5 有这个问题,它会截断 48Kb以上的所有数据,除非表单是application/x-www-form-urlencoded发送的,请尝试设置此项正如您的content-type喜欢:

<form accept-charset="utf-8" 
      enctype="application/x-www-form-urlencoded" ... >

</form>

pen-tester可以解决此问题。

如果您还搜索 HTTP走私,您会发现同样的问题。

您可以{HTTP}走私的read more信息。

答案 1 :(得分:1)

我碰到了这一次,结果发现它是截断它的浏览器!

我不记得哪一个了。我想说这是firefox,但我无法确定。

修复方法是将表单的内容类型更改为multipart/form-data