ĬÈÏÖ»ÄÜÉÏ´«2M¸½¼þ, ÈçºÎ·Å¿ªÏÞÖÆ? (asp.net C#)
¶ÔÓÚasp.net,ĬÈÏÖ»ÔÊÐíÉÏ´«2MÎļþ,Ôö¼ÓÈçÏÂÅäÖÃ,Ò»°ã¿ÉÒÔ×Ô¶¨Òå×î´óÎļþ´óС.
<httpRuntime executionTimeout="300" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false"/>
ÎÒÃÇÔÚÉÏ´«´óÎļþʱ¶¼Óöµ½¹ýÕâÑù»òÄÇÑùµÄÎÊÌâ¡£ÉèÖúܴóµÄ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Àï·Ö¿é¶ÁÈ¡Êý¾Ý,Chris
HynesΪÎÒÃÇÌṩÁËÕâÑùµÄÒ»¸ö·½°¸(ÓÃHttpModule)£¬¸Ã·½°¸³ýÁËÔÊÐíÄãÉÏ´«´óÎļþÍ⣬»¹ÄÜʵʱÏÔʾÉÏ´«½ø¶È¡£
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(Krystalware.HttpUploadManager)ʵÏÖ ASP.NET´óÎļþÉÏ´«µÄ´úÂ룺
(ÆäÖÐHttpUploadSpike.rarÊÇ ASP.NET´óÎļþÉÏ´«¿ªÔ´°æ±¾[ÓÐһЩСBUG£¬Ð޸ķ½·¨¼ûÏÂÎÄ]
SlickUpload-2.5.2.rarÊÇ ASP.NET´óÎļþÉÏ´«×îеķǿªÔ´°æ±¾)
ʹÓÃChris HynesÌṩµÄ´úÂë
Ïà¹ØÎĵµ£º
¼Ç¼һ¸öС·½·¨£¬ÈÃÈκζÔÏó¶¼ÊµÏÖjsonÐòÁкúµÄÀ©Õ¹·½·¨:
using System.Web.Script.Serialization;
...
//
public static string ToJSON(this Object obj) {
return new JavaScriptSerializer().Serialize(obj);
}
... ......
״̬¹ÜÀíÊÇÄú¶Ôͬһҳ»ò²»Í¬Ò³µÄ¶à¸öÇëÇóά»¤×´Ì¬ºÍÒ³ÐÅÏ¢µÄ¹ý³Ì¡£ÓëËùÓлùÓÚ HTTP µÄ¼¼ÊõÒ»Ñù£¬Web ´°ÌåÒ³ÊÇÎÞ״̬µÄ£¬ÕâÒâζ×ÅËüÃDz»×Ô¶¯Ö¸Ê¾ÐòÁÐÖеÄÇëÇóÊÇ·ñÈ«²¿À´×ÔÏàͬµÄ¿Í»§¶Ë£¬»òÕßµ¥¸öä¯ÀÀÆ÷ʵÀýÊÇ·ñÒ»Ö±Ôڲ鿴ҳ»òÕ¾µã¡£´ËÍ⣬µ½·þÎñÆ÷µÄÿһÍù·µ¹ý³Ì¶¼½«Ïú»Ù²¢ÖØд´½¨Ò³£»Òò´ ......
ÔÚÐí¶àÓ¦ÓóÌÐòÖУ¬ÐèÒª´æ´¢²¢Ê¹ÓöÔÓû§Î¨Ò»µÄÐÅÏ¢¡£Óû§·ÃÎÊÕ¾µãʱ£¬Äú¿ÉÒÔʹÓÃÒÑ´æ´¢µÄÐÅÏ¢ÏòÓû§ÏÔʾ Web Ó¦ÓóÌÐòµÄ¸öÐÔ»¯°æ±¾¡£¸öÐÔ»¯Ó¦ÓóÌÐòÐèÒª´óÁ¿µÄÔªËØ£º±ØÐëʹÓÃΨһµÄÓû§±êʶ·û´æ´¢ÐÅÏ¢£¬Äܹ»ÔÚÓû§ÔٴηÃÎÊʱʶ±ðÓû§£¬È»ºó¸ù¾ÝÐèÒª»ñÈ¡Óû§ÐÅÏ¢¡£ÈôÒª¼ò»¯Ó¦ÓóÌÐò£¬¿ÉÒÔ ......
ASP.NET Óû§ÅäÖÃÎļþ¹¦ÄÜÉè¼ÆΪÌṩµ±Ç°Óû§µÄ¶ÀÓÐÐÅÏ¢¡£ÅäÖÃÎļþ¿ÉÓÉͨ¹ýÉí·ÝÑéÖ¤µÄÓû§Ê¹Óã¬Ò²¿ÉÒÔÓÉÄäÃû£¨Î´¾Éí·ÝÑéÖ¤£©Óû§Ê¹Óá£
1¡¢Í¨¹ýÉí·ÝÑéÖ¤µÄÓû§
ĬÈÏÇé¿öÏ£¬Óû§ÅäÖÃÎļþÓ뵱ǰ HTTP ÉÏÏÂÎÄ£¨¿Éͨ¹ý HttpContext..::.Current ÊôÐÔ·ÃÎÊ£©µÄ User ÊôÐÔÖд洢µÄÓà ......