﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-2bno1-最新评论</title><link>http://www.cnblogs.com/2bno1/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Mon, 28 Nov 2005 05:57:00 GMT</pubDate><lastBuildDate>Mon, 28 Nov 2005 05:57:00 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2008/08/19/285893.html#1291075</link><dc:creator>单凯</dc:creator><author>单凯</author><pubDate>Tue, 19 Aug 2008 02:42:57 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2008/08/19/285893.html#1291075</guid><description><![CDATA[为什么我的request.ContentLength 永元都是0<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">单凯</a> 2008-08-19 10:42 <a href="http://www.cnblogs.com/2bno1/archive/2008/08/19/285893.html#1291075#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2008/06/25/285893.html#1236102</link><dc:creator>问天</dc:creator><author>问天</author><pubDate>Wed, 25 Jun 2008 11:29:01 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2008/06/25/285893.html#1236102</guid><description><![CDATA[呃……谢谢楼主……<br>但，我是这么做的：<br>  Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs)<br>    Dim request As HttpRequest = HttpContext.Current.Request<br>    If request.ContentLength &gt; 1024000 Then<br>      HttpContext.Current.Response.Redirect(&quot;/max.html&quot;)<br>    End If<br>  End Sub<br><br>检查Request的content length超过限制后便直接redirect到提示错误的页面……<br><br>反复测试都没有发现任何不良效果……服务端绝对不会等待浏览器把所有的数据都上传完……在Firefox / Opear / IE7 / Safari上面用户都会立刻看到错误的提示页面……<br><br>唯一的例外是IE6，该死的IE6还是好等上那么十几秒才能看到转跳页面…………完全不知何故…………<br><br>如果是要从防止服务器被攻击的角度考虑，倒是可以直接：<br>wr.CloseConnection()<br><br>所有浏览器都会立刻看到默认的错误页面……尝试在picasa上上传一个600M的假图片便是如此……<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">问天</a> 2008-06-25 19:29 <a href="http://www.cnblogs.com/2bno1/archive/2008/06/25/285893.html#1236102#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2006/03/22/285893.html#355819</link><dc:creator>孙明明</dc:creator><author>孙明明</author><pubDate>Wed, 22 Mar 2006 06:07:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2006/03/22/285893.html#355819</guid><description><![CDATA[你是干什么的啊 <br><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">孙明明</a> 2006-03-22 14:07 <a href="http://www.cnblogs.com/2bno1/archive/2006/03/22/285893.html#355819#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: [转帖]名字最骗人的十所大学</title><link>http://www.cnblogs.com/2bno1/archive/2006/02/26/285893.html#337933</link><dc:creator>劲舞团</dc:creator><author>劲舞团</author><pubDate>Sun, 26 Feb 2006 01:07:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2006/02/26/285893.html#337933</guid><description><![CDATA[不错。。。收藏了。。。。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">劲舞团</a> 2006-02-26 09:07 <a href="http://www.cnblogs.com/2bno1/archive/2006/02/26/285893.html#337933#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2005/11/29/285893.html#286668</link><dc:creator>Edwin Liu</dc:creator><author>Edwin Liu</author><pubDate>Tue, 29 Nov 2005 01:45:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2005/11/29/285893.html#286668</guid><description><![CDATA[HttpApplication app = sender as HttpApplication;<br>HttpWorkerRequest wr = GetWorkerRequest(app.Context);<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">Edwin Liu</a> 2005-11-29 09:45 <a href="http://www.cnblogs.com/2bno1/archive/2005/11/29/285893.html#286668#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286081</link><dc:creator>tzchw</dc:creator><author>tzchw</author><pubDate>Mon, 28 Nov 2005 06:30:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286081</guid><description><![CDATA[有启发<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">tzchw</a> 2005-11-28 14:30 <a href="http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286081#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286046</link><dc:creator>2bno1</dc:creator><author>2bno1</author><pubDate>Mon, 28 Nov 2005 05:37:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286046</guid><description><![CDATA[<div>我按照你说的方法试过，不行啊<img src="http://www.cnblogs.com/Emoticons/emcrook.gif" align="absMiddle" border="0" /></div><div>还有，你的代码似乎也有点问题，因为wr.CloseConnection();在throw new Exception();后面，所以永远不会执行。</div><div>你确定是Context的长度大于maxRequestLength的时候才执行throw new Exception();的吗？</div><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">2bno1</a> 2005-11-28 13:37 <a href="http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286046#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286011</link><dc:creator>垃圾猪</dc:creator><author>垃圾猪</author><pubDate>Mon, 28 Nov 2005 05:05:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286011</guid><description><![CDATA[我说的这种方法是不出错的,你可以试一下<br>使用HttpWorkerRequest wr = ...........<br>然后抛出异常,再中断与客户的连接...<br>throw new Exception(&quot;文件太大了&quot;);<br>wr.CloseConnection();<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">垃圾猪</a> 2005-11-28 13:05 <a href="http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#286011#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#285998</link><dc:creator>bestcomy</dc:creator><author>bestcomy</author><pubDate>Mon, 28 Nov 2005 04:55:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#285998</guid><description><![CDATA[仍然是需要把客户端数据读完之后才能Redirect<br>其实还是内置的抛出HttpException的方法最好(没有完全读取客户端数据就结束了当前Request，可以防止攻击)，不过当用户有要求的时候也没办法。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">bestcomy</a> 2005-11-28 12:55 <a href="http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#285998#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 大文件上传之异常处理（原创）</title><link>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#285934</link><dc:creator>2bno1</dc:creator><author>2bno1</author><pubDate>Mon, 28 Nov 2005 03:16:00 GMT</pubDate><guid>http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#285934</guid><description><![CDATA[<div>呵呵，小猪，你说的方法我试过，但是发现行不通。</div><div><span style="COLOR: #000000"><font face="Times New Roman" size="3"><font face="Times New Roman" size="3">while ( contentlen - totalrecv &gt;= received)<br />&#160;&#160;&#160;&#160;&#160;&#160;{<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;received =<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;wr.ReadEntityBody(buffer,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;buffer.Length);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;totalrecv += received;<br />&#160;&#160;&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;&#160;&#160;received =<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;wr.ReadEntityBody(buffer, contentlen - totalrecv);</font></font></span></div><div>上面这段代码的目的就是使Context的长度小于maxRequestLength，这个步骤是必须的。</div><div>如你说的监测到内容过长直接抛出异常，这时候内容还是大于maxRequestLength，系统仍然会崩溃。</div><div>谢谢你的建议，我们可以继续讨论。<img src="http://www.cnblogs.com/Emoticons/emsmile.gif" align="absMiddle" border="0" /></div><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/2bno1/" target="_blank">2bno1</a> 2005-11-28 11:16 <a href="http://www.cnblogs.com/2bno1/archive/2005/11/28/285893.html#285934#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>
