关于asp.net上传大文件超时问题

liushengpiaoxu 2006-09-07 12:55:10
在上传大的文件的时候总是遇到一个很严重的问题就是超时,那个朋友帮我想个解决的方法。。谢谢~^_^
...全文
795 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liushengpiaoxu 2006-09-07
  • 打赏
  • 举报
回复
恩~好谢谢楼上朋友指点。。。。。
Julyseven 2006-09-07
  • 打赏
  • 举报
回复
up
longhorn008 2006-09-07
  • 打赏
  • 举报
回复
做个标记
debehe 2006-09-07
  • 打赏
  • 举报
回复
用ASP.NET上传大文件
我们在上传大文件时都遇到过这样或那样的问题。设置很大的maxRequestLength值并不能完全解决问题,因为ASP.NET会block直到把整个文件载入内存后,再加以处理。实际上,如果文件很大的话,我们经常会见到Internet Explorer显示 "The page cannot be displayed - Cannot find server or DNS Error",好像是怎么也catch不了这个错误。为什么?因为这是个client side错误,server side端的Application_Error是处理不到的,可以参考这个帖子研究一下产生这个错误的机理。

handling server error when upload file too large

解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据

IServiceProvider provider = (IServiceProvider) HttpContext.Current;
HttpWorkerRequest wr = (HttpWorkerRequest) provider.GetService(typeof(HttpWorkerRequest));
byte[] bs = wr.GetPreloadedEntityBody();
....
if (!wr.IsEntireEntityBodyIsPreloaded())
{
int n = 1024;
byte[] bs2 = new byte[n];
while (wr.ReadEntityBody(bs2,n) >0)
{
.....
}
}

Chris Hynes为我们提供了这样的一个方案(用HttpModule),该方案除了允许你上传大文件外,还能实时显示上传进度:

ASP.NET Upload Magic Part 2

这里有他讲座的PPT文件:

Uploading with ASP.NET (part 1)

Uploading with ASP.NET (part 2)

________________
引用页地址:http://blog.joycode.com/saucer/archive/2004/03/16/16225.aspx
debehe 2006-09-07
  • 打赏
  • 举报
回复
楼上看下这个贴子:
http://community.csdn.net/Expert/topic/4681/4681195.xml?temp=.3372614

法1。修改httpruntime是个好办法。

http://teddyma.cnblogs.com/archive/2006/04/02/364171.html

上传几百M的文件也不是问题。不需要修改web.config文件。哈


法2
修改Web.Config文件也可以:
<?xml version="1.0" encoding="BIG5"?>
<configuration>
<system.web>
<httpRuntime maxRequestLength="512000" useFullyQualifiedRedirectUrl="true" executionTimeout="45"/>
</system.web>
</configuration>


对maxRequestLength设你想要的最大文件的大小.


ChengKing 2006-09-07
  • 打赏
  • 举报
回复
<httpRuntime>
executionTimeout="110" //允许上传文件最大等待时间
maxRequestLength="4096" //上传文件大小,默认为4M
</httpRuntime>


http://blog.csdn.net/ChengKing/archive/2006/04/30/699244.aspx


liushengpiaoxu 2006-09-07
  • 打赏
  • 举报
回复
多谢大家帮助
问题已经解决~上传文件358M已经测试成功
美中不足之处在于没有实现上传状态条的显示

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧