http 请求 413 错误:request entity too large

zhougangnj 2005-02-03 12:02:28
在用wse 调用 web service时使用dime传送相对比较大时文件,就报这个错,这个是客户端的问题,还是要改webservice端,怎么改?我是在asp.net调用webservice的,急!!!
...全文
2362 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhougangnj 2005-02-03
  • 打赏
  • 举报
回复
to:wj2929,我是在调用web service时报错,asp.net本身里上传大文件我这边没问题
wj2929 2005-02-03
  • 打赏
  • 举报
回复
http://blog.joycode.com/saucer/archive/2004/03/16/16225.aspx
trnbo 2005-02-03
  • 打赏
  • 举报
回复
解决的方法是利用隐含的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)
{
.....
}
}

trnbo 2005-02-03
  • 打赏
  • 举报
回复
这是个client side错误,server side端的Application_Error是处理不到的,可以参考这个帖子研究一下产生这个错误的机理。

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=OnZOezyuCHA.2380%40TK2MSFTNGP11
cuike519 2005-02-03
  • 打赏
  • 举报
回复
这应该是一个类似一般网络错误(404或者505等),其实前面的大文件上传的处理方法给了我们启发,这是由于IIS或者说是ISP的原因,IIS进程不能处理一个随意大小的文件,当IIS判断当前请求的数据量太大(这个值好像是40M)将导致IIS的效率急剧下降,对于这种请求IIS将抛出上面的错误,终止响应。上传大附件是使用的HttpWorkerRequest而是HttpRequest对象,就是这个原因。
zhougangnj 2005-02-03
  • 打赏
  • 举报
回复
sugarshop什么意思?
GX198302 2005-02-03
  • 打赏
  • 举报
回复
MIME
redlotoc 2005-02-03
  • 打赏
  • 举报
回复
我想应该是网络拥挤所造成的
haoco 2005-02-03
  • 打赏
  • 举报
回复
up

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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