航空论坛_航空翻译_民航英语翻译_飞行翻译

标题: C#.Net上传文件大小限制设置[1] [打印本页]

作者: 航空    时间: 2010-5-4 01:09:52     标题: C#.Net上传文件大小限制设置[1]

net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢, 7 D- V* E/ j$ K7 N4 T' g  V
$ F/ L1 M- U) d6 P$ H/ c+ k
  
% y1 u( ]7 N3 v3 \. f7 d' P& W  }0 u: P& [( y1 [8 @
1,环境:window 2003 ,IIS6.0
0 e2 w9 _( N5 A2 p3 ]
9 j# I2 S( ?$ f, ]% I要首先要修改IIS6.0中的asp请求的最大字节数,默认时为200K;
0 z, f. i$ z: S2 h7 t方法:打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML, % ?  w* q. a7 `5 `& J& A
并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 "1073741824", 1GB);
& ^0 c) q+ ]/ w' H9 h% V6 f6 @9 {) ?( g7 J, I: Q
技术背景: ) ]) G# H, X, F' i( @
在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求(Request)可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息. - O  E9 Q4 m! @
这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值. + [* @2 X; n& d: Z, n

" n1 o+ m/ r9 d2 I& S注意: 在编辑文件前请停止 IIS 服务, 否则无法保存修改后的文件.
  W8 {* ~3 D0 m' Y8 L6 g) Q2 K
0 ?( t' B5 m$ e; H6 E也可以那么解决:
. M( k0 S! W/ \! K到微软站点载了IIS6 Resource Kit Tools(http://www.microsoft.com/downloa ... DE629C89499&displaylang=en),安装后利用Metabase Explorer修改了(local)\LM\W3SVC\AspMaxRequestEntityAllowed属性(默认为200K=204800),修改为1G就是了;同时修改了AspScriptTimeout属性调整下时限,就可以上传大文件了。 0 S! I5 e/ a0 d9 M& R4 R
0 @* H# ^$ ^! J0 C0 L; H  G
/ c0 h% ^7 Z/ c! ~6 {
2,.net中 8 o7 d, p+ f1 T! N
0 h9 s" s1 l: ]
(1)在web.comfig文件中添加一个httpRuntime主键 * w  M& t0 O+ H, b! W+ J
: ?4 o8 H! K2 P% O, V  h
<httpRuntime executionTimeout="90" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false" 2 D; X4 F1 }; n4 {" G1 o: B
minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/> 1 A/ Z. K. i% g% n% g

  J3 c0 u# E: cmaxRequestLength="40960" 是最大的请求数,单位为:K
+ @6 ?) A* R6 u+ t+ {  W+ R
( d  p6 B) ], i; F+ M6 C2 E' G/ R(2)修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config文件
( G  ^! v2 W$ L, w! t  [% ]4 B. Q: l$ e
<httpRuntime executionTimeout="190" maxRequestLength="40960"
! n  E+ R" \  i  w3 C' i3 a& F+ }: A( K0 p8 C: h! K, O
maxRequestLength="40960" 是最大的请求数,单位为:K
3 J% y2 U9 u+ X% i: E6 g: u- U4 j- \: D) E" u- ]! X& X3 `/ U( m
经实验,(1)和(2)只要一个就可以。




欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/) Powered by Discuz! X2