Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ʹÓÃRedis×÷ΪÏûÏ¢¶ÓÁзþÎñ³¡¾°Ó¦Óð¸Àý
 
×÷Õߣº¶¡ÒÕÃ÷ À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ£º2015-6-2
  4940  次浏览      29
 

Ò»¡¢ÏûÏ¢¶ÓÁг¡¾°¼ò½é

¡°ÏûÏ¢¡±ÊÇÔÚÁ½Ì¨¼ÆËã»ú¼ä´«Ë͵ÄÊý¾Ýµ¥Î»¡£ÏûÏ¢¿ÉÒԷdz£¼òµ¥£¬ÀýÈçÖ»°üº¬Îı¾×Ö·û´®£»Ò²¿ÉÒÔ¸ü¸´ÔÓ£¬¿ÉÄܰüº¬Ç¶Èë¶ÔÏó¡£ÏûÏ¢±»·¢Ë͵½¶ÓÁÐÖУ¬¡°ÏûÏ¢¶ÓÁС±ÊÇÔÚÏûÏ¢µÄ´«Êä¹ý³ÌÖб£´æÏûÏ¢µÄÈÝÆ÷¡£

ÔÚĿǰ¹ã·ºµÄWebÓ¦ÓÃÖУ¬¶¼»á³öÏÖÒ»ÖÖ³¡¾°£ºÔÚijһ¸öʱ¿Ì£¬ÍøÕ¾»áÓ­À´Ò»¸öÓû§ÇëÇóµÄ¸ß·åÆÚ£¨±ÈÈ磺ÌÔ±¦µÄ˫ʮһ¹ºÎï¿ñ»¶½Ú£¬12306µÄ´ºÔËÇÀƱ½ÚµÈ£©£¬Ò»°ãµÄÉè¼ÆÖУ¬Óû§µÄÇëÇ󶼻ᱻֱ½ÓдÈëÊý¾Ý¿â»òÎļþÖУ¬Ôڸ߲¢·¢µÄÇéÐÎÏ»á¶ÔÊý¾Ý¿â·þÎñÆ÷»òÎļþ·þÎñÆ÷Ôì³É¾Þ´óµÄѹÁ¦£¬Í¬Ê±ÄØ£¬Ò²Ê¹ÏìÓ¦ÑӳټӾ硣ÕâҲ˵Ã÷ÁË£¬ÎªÊ²Ã´ÎÒÃǵ±Ê±ÄÇôµØ±§Ô¹ºÍͲÛÕâÐ©ÍøÕ¾µÄÏìÓ¦ËÙ¶ÈÁË¡£µ±Ê±2011ÄêµÄ¾©¶«Í¼Êé´ÙÏú£¬ÔøÒ»Ö±³öÏÖÔÚ¹ºÎï³µÖеã»÷¡°¹ºÂò¡±°´Å¥ºóÒ»Ö±ÊÇ¡°Service is too busy¡±£¬Æäʵ¾ÍÊÇÒòΪµ±Ê±µÄ²¢·¢·ÃÎÊÁ¿¹ý´ó£¬³¬¹ýÁËϵͳµÄ×î´ó¸ºÔØÄÜÁ¦¡£µ±È»£¬ºó±ß£¬ÁõÇ¿¶«ÁÙʱ¹ºÂòÁ˲»ÉÙ·þÎñÆ÷½øÐÐÀ©Õ¹ÒÔÇóÔöÇ¿´¦Àí²¢·¢ÇëÇóµÄÄÜÁ¦£¬»¹ÇëÁËÐÅÏ¢²¿µÄÈËÔ±¡°ºÈ²è¡±£¬ÏÖÔÚ¾©¶«ÒѾ­Êdz¬´óÐ͵ÄÍøÉÏÉ̳ÇÁË£¬ÎÒÒ²ÓÐͬѧÔÚ¾©¶«³É¶¼Ñо¿Ôº¹¤×÷ÁË¡£

´Ó¾©¶«µ±ÄêµÄ¡°Service is too busy¡±²»ÄÑ¿´³ö£¬¸ß²¢·¢µÄÓû§ÇëÇóÊÇÍøÕ¾³É³¤¹ý³ÌÖбز»¿ÉÉٵĹý³Ì£¬Ò²ÊÇÒ»¸ö±ØÐëÒª½â¾öµÄÄÑÌâ¡£ÔÚÖÚ¶àµÄʵ¼ùµ±ÖУ¬³ýÁËÔö¼Ó·þÎñÆ÷ÊýÁ¿ÅäÖ÷þÎñÆ÷¼¯ÈºÊµÏÖÉìËõÐԼܹ¹Éè¼ÆÖ®Í⣬Òì²½²Ù×÷Ò²±»¹ã·º²ÉÓ᣶øÒì²½²Ù×÷ÖÐ×îºËÐĵľÍÊÇʹÓÃÏûÏ¢¶ÓÁУ¬Í¨¹ýÏûÏ¢¶ÓÁУ¬½«¶Ìʱ¼ä¸ß²¢·¢²úÉúµÄÊÂÎñÏûÏ¢´æ´¢ÔÚÏûÏ¢¶ÓÁÐÖУ¬´Ó¶øÏ÷ƽ¸ß·åÆÚµÄ²¢·¢ÊÂÎñ£¬¸ÄÉÆÍøÕ¾ÏµÍ³µÄÐÔÄÜ¡£ÔÚ¾©¶«Ö®ÀàµÄµç×ÓÉÌÎñÍøÕ¾´ÙÏú»î¶¯ÖУ¬ºÏÀíµØÊ¹ÓÃÏûÏ¢¶ÓÁУ¬¿ÉÒÔÓÐЧµØµÖÓù´ÙÏú»î¶¯¸Õ¿ªÊ¼¾Í¿ªÊ¼´óÁ¿Ó¿ÈëµÄ¶©µ¥¶ÔϵͳÔì³ÉµÄ³å»÷¡£

¼ÇµÃÎÒÔÚʵϰÆÚ¼ä£¬³É¶¼ÊÐXXXX¾ÖµÄÒ»¸ö¼Û¸ñÐÅÏ¢²É¼¯·¢²¼ÏµÍ³ÏîÄ¿ÖÐÓÐÒ»¸ö²É¼¯ÈÎÎñ·¢²¼µÄÄ£¿é£¬ÆäÖÐÿ¸öÈÎÎñ¶¼ÊÇÒ»¸öÊÂÎñ£¬Õâ¸öÊÂÎñÖÐÐèÒªÏòÊý¾Ý¿âÖв»¶ÏµØ²åÈëÐУ¬Ã¿¸öÈÎÎñ·¢²¼Ê±¶¼ÒªÍù±íÖвåÈ뼸°ÙÐÐÉõÖÁ¼¸Ç§ÐеÄÈÎÎñÊý¾Ý£¨±ÈÈç¼Û¸ñ²É¼¯ÈÕ±¨£¬ÍùÍùÐèÒª·¢²¼2-3ÄêµÄÈÎÎñÊý¾Ý£¬Ã¿Ò»Ìì¶¼ÊÇÒ»¸öÈÎÎñ£¬ËùÒÔ´óÔ¼ÓÐ2,3ǧÐÐÈÎÎñÆÚºÅÊý¾Ý£¬»¹Òª·¢¸øºÜ¶à¸öÇøÏØµÄ¼à²âÖÐÐÄ£¬Òò´ËÊý¾Ý¿âд²Ù×÷Á¿ºÜ´ó£¬¸ü±ð˵ͬʱ·¢²¼µÄ²¢·¢²Ù×÷£©£¬ÓÉÓÚÒµÎñÂß¼­µÄ´¦Àí±È½Ï¸´ÔÓºÍÍùÊý¾Ý¿âµÄд²Ù×÷Á¿½»´ó£¬ËùÒÔÔÚûÓвÉÓÃÏûÏ¢¶ÓÁÐʱµã»÷¡°·¢²¼¡±°´Å¥ºóÍùÍùÐèÒªµÈ´ý1·ÖÖÓ×óÓÒµÄʱ¼ä²ÅÌáʾ¡°·¢²¼³É¹¦¡±£¬Óû§ÌåÑ鼫²»ÓѺá£

Õâʱ£¬ÎÒÃǾͿÉÒÔʹÓÃÏûÏ¢¶ÓÁеÄ˼ÏëÀ´Öع¹Õâ¸ö·¢²¼Ä£¿é£¬ÔÚÓû§µã»÷¡°·¢²¼¡±°´Å¥ºó£¬ÏµÍ³Ö»ÐèÒª°ÑÍùÊý¾Ý¿â²åÈëµÄÕâ¸öÊÂÎñÐÅÏ¢²åÈëµ½Ö¸¶¨µÄÈÎÎñ·¢²¼ÏûÏ¢¶ÓÁÐÀï±ßÈ¥£¨Èë¶Ó²Ù×÷£¬ÕâÀïÒ»°ãÓÐһ̨¶ÀÁ¢µÄÏûÏ¢¶ÓÁзþÎñÆ÷À´µ¥¶À´æ´¢ºÍ´¦Àí£©£¬È»ºóϵͳ¾Í¿ÉÒÔÁ¢¼´¶ÔÓû§µÄÕâ¸ö·¢²¼ÇëÇó½øÐÐÏìÓ¦£¨±ÈÈç¸ø³öÒ»¸ö·¢²¼³É¹¦µÄ²Ù×÷Ìáʾ£¬ÕâÀïÔݲ»¿¼ÂÇÏûÏ¢¶ÓÁзþÎñ²Ù×÷ʧ°ÜµÄÇéÐΣ¬Èç¹ûʧ°ÜÁË£¬¿ÉÒÔ¿¼ÂDzÉÓøøÓû§·¢ËÍÓʼþ¡¢¶ÌÐÅ»òÕ¾ÄÚÏûÏ¢£¬ÈÃÆäÖØÐ½øÐз¢²¼²Ù×÷£©¡£

×îºó£¬ÏûÏ¢¶ÓÁзþÎñÆ÷ÖÐÓÐÒ»¸ö½ø³Ìµ¥¶À¶ÔÏûÏ¢¶ÓÁнøÐд¦Àí£¬Ê×ÏÈÅжÏÏûÏ¢¶ÓÁÐÖÐÊÇ·ñÓдý´¦ÀíµÄÏûÏ¢£¬Èç¹ûÓУ¬Ôò½«ÆäÈ¡³ö£¨³ö¶Ó²Ù×÷£¬¼á³Ö¡°ÏȽøÏȳö¡±µÄ˳Ðò£¬±£Ö¤ÊÂÎñµÄ׼ȷÐÔ£©½øÐÐÏàÓ¦µØ´¦Àí£¨±ÈÈçÕâÀïÊǽøÐб£´æÊý¾ÝµÄ²Ù×÷£¬½«Êý¾Ý²åÈëµ½Êý¾Ý¿â·þÎñÆ÷ÖеÄÖ¸¶¨Êý¾Ý¿âÀï±ß£¬ÊµÖÊ»¹ÊÇÎļþµÄIO²Ù×÷£©¡£¾ÍÕâÑù£¬Í¨¹ýÏûÏ¢¶ÓÁн«¸ß²¢·¢Óû§ÇëÇó½øÐÐÒì²½²Ù×÷£¬È»ºóÒ»Ò»¶ÔÏûÏ¢¶ÓÁнøÐгö¶ÓµÄͬ²½²Ù×÷£¬Ò²±ÜÃâÁ˲¢·¢¿ØÖƵÄÄÑÌâ¡£

˵µ½ÕâÀ´ó¼Ò¿ÉÄÜ»áÏëµ½ÕâÄáÂê²»¾ÍÊÇÉú²úÕßÏû·ÑÕßģʽô£¿¶ÔµÄ£¬Ã´Ã´àª£¬ÏûÏ¢¶ÓÁоÍÊÇÉú²úÕßÏû·ÑÕßģʽµÄµäÐͳ¡¾°¡£¼òµ¥µØËµ£¬¿Í»§¶Ë²»Í¬Óû§·¢Ë͵IJÙ×÷ÇëÇó¾ÍÊÇÉú²úÕߣ¬ËûÃǽ«Òª´¦ÀíµÄÊÂÎñ´æ´¢µ½ÏûÏ¢¶ÓÁÐÖУ¬È»ºóÏûÏ¢¶ÓÁзþÎñÆ÷µÄij¸ö½ø³Ì²»Í£µØ½«Òª´¦ÀíµÄµ¥¸öÊÂÎñ´ÓÏûÏ¢¶ÓÁÐÖÐÒ»¸öÒ»¸öµØÈ¡³öÀ´½øÐÐÏàÓ¦µØ´¦Àí£¬Õâ¾ÍÊÇÏû·ÑÕßÏû·ÑµÄ¹ý³Ì¡£

ÏÂÃæÎÒÃǽ«ÒÔÒì³£ÈÕ־Ϊ°¸Àý£¬½éÉÜÔÚ.NetÖÐÈçºÎ²ÉÓÃÏûÏ¢¶ÓÁеÄ˼Ïë½â¾ö²¢·¢ÎÊÌâ¡£µ±È»£¬ÏûÏ¢¶ÓÁÐÖ»Êǽâ¾ö²¢·¢ÎÊÌâµÄÆäÖÐÒ»ÖÖ·½Ê½£¬ÔÚʵ¼ÊÖÐÍùÍùÐèÒª½áºÏ¶àÖÖ²»Í¬µÄ¼¼Êõ·½Ê½À´¹²Í¬½â¾ö£¬±ÈÈç¸ºÔØ¾ùºâ¡¢·´Ïò´úÀí¡¢¼¯ÈºµÈ·½°¸¡£ÕâÀËäÈ»ÒÔÒì³£ÈÕ־Ϊ°¸Àý£¬µ«ÊÇ¡°ÂéȸËäСÎåÔà¾ãÈ«¡±£¬ÈÕ־дÈëÎļþµÄ¸ß²¢·¢²Ù×÷ҲͬÑùÊÊÓÃÓÚÊý¾Ý¿âµÄ¸ß²¢·¢£¬ËùÒÔ£¬Ñо¿Õâ¸ö°¸ÀýÊǾßÓÐʵ¼ÊÒâÒåµÄ¡£

¶þ¡¢Ê¹ÓÃÔ¤ÖÃÀàÐÍʵÏÖÒì³£ÈÕÖ¾¶ÓÁÐ

ÔÚÈÕ³£µÄWebÓ¦ÓÃÖУ¬Òì³£ÈÕÖ¾µÄ¼Ç¼ÊÇÒ»¸öÊ®·ÖÖØÒªµÄÒªµã¡£ÒòΪ£¬ÈËÎÞÍêÈË£¬ÏµÍ³Ò²Ò»Ñù£¬ÄÑÃâ»áÔÚʲôʱºò³öÒ»¸ö²âÊÔ½×¶ÎδÄÜÍêÈ«²âÊÔµ½µÄÒì³£¡£Õâʱºò£¬²»Äܽ«Òì³£ÐÅÏ¢Ö±½ÓÏÔʾ¸ø¿Í»§£¬ÄÇÑù¼È²»ÓѺÃÒ²²»°²È«¡£ËùÒÔ£¬Ò»°ã¶¼²ÉÓý«Òì³£ÐÅÏ¢¼Ç¼µ½ÈÕÖ¾ÎļþÖУ¨±ÈÈçij¸ötxtÎļþ£¬Êý¾Ý¿âÖÐij¸ö±íµÈ£©£¬È»ºó¼¼ÊõÖ§³ÖÈËԱͨ¹ý²é¿´Òì³£ÈÕÖ¾£¬·ÖÎöÒì³£Ô­Òò£¬¸Ä½øBUGÖØÐ·¢²¼£¬±£ÕÏϵͳÕý³£ÔËÐС£

ÔÚÓû§µÄ¸÷ÖÖ²Ù×÷ÖУ¬Èç¹û³öÏÖÒì³£µÄʱ¼äÒ»Ö£¬ÄÇô¼Ç¼Òì³£ÈÕÖ¾µÄ²Ù×÷¾Í»á³ÉΪ²¢·¢²Ù×÷£¬¶ø¼Ç¼Òì³£ÈÕÖ¾ÓÖÊôÓÚÎļþµÄIO²Ù×÷£¨ÆäʵÊý¾Ý¿âµÄ¶Áд¹é¸ù½áµ×Ò²ÊǶÔÎļþ¼´¶Ô´ÅÅ̽øÐеÄIO²Ù×÷£©£¬Òò´ËºÜÓпÉÄÜ´øÀ´²¢·¢¿ØÖƵÄһϵÁÐÎÊÌâ¡£ÔÚÒÔÍùµÄ±àÂëʵ¼ùÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ý¸ø²»Í¬µÄIOÇëÇó½øÐмÓËø£¨C#ÖеÄlock£©£¬µÈµÚÒ»¸öÇëÇóÍê³ÉдÈëºóÊÍ·ÅËø£¬µÚ¶þ¸öÇëÇóÔÙ»ñµÃËø£¬½øÐÐIO²Ù×÷£¬È»ºóÊͷŵô£¬Ò»Ö±µ½µÚN¸öÇëÇóÊͷźó½áÊø¡£ÕâÖÖ·½Ê½£¬ËäÈ»½â¾öÁ˲¢·¢²Ù×÷´øÀ´µÄÎÊÌ⣬µ«ÊÇͨ¹ý¼ÓËøÑÓ³ÙÁËÓû§ÏìÓ¦ÇëÇóµÄʱ¼ä£¨±ÈÈçµÚÒ»¸öÕýÔÚIOдÈë²Ù×÷ʱ£¬ºóÃæµÄ¾ù´¦Óڵȴý״̬£©£¬²¢ÇÒ¼ÓËøÒ²»á¸ø·þÎñÆ÷´øÀ´Ò»¶¨µÄÐÔÄܸºµ££¬Ôì³É·þÎñÆ÷ÐÔÄܵÄϽµ¡£

»ùÓÚÒÔÉÏÔ­Òò£¬ÎÒÃDzÉÓÃÏûÏ¢¶ÓÁеÄ˼Ï뽫Òì³£ÈÕÖ¾µÄ¼Ç¼²Ù×÷¸ÄΪ¶ÓÁа棬ÕâÀïÎÒÃÇÏȲ»²ÉÓÃRedis£¬Ö±½ÓʹÓÃ.NetΪÎÒÃÇÌṩµÄÔ¤ÖÃÀàÐÍ-Queue¡£½ÓÏÂÀ´£¬¾ÍÈÃÎÒÃǶ¯ÊÖ¿ªµ¶£¬Ð´ÆðÀ´¡£

£¨1£©Ð½¨Ò»¸öASP.NET MVC 4ÏîÄ¿£¬Ñ¡Ôñ¡°»ù±¾¡±ÀàÐÍ£¬ÊÓͼÒýÇæÑ¡Ôñ¡°Razor¡±¡£

£¨2£©¼ÈÈ»ÊÇÒì³£ÈÕÖ¾¼Ç¼£¬Ê×ÏȵÃÓÐÒì³£¡£Õâʱ£¬ÎÒÃÇÄÔº£ÖÐÏëµ½ÁËÄǸö¾­µäµÄÒì³££ºDividedByZeroException¡£ÓÚÊÇ£¬ÔÚControllersÎļþ¼ÐÖÐн¨Ò»¸öController£¬È¡ÃûΪHome£¨ÕâÀïÒòΪGlobalÎļþÖеÄĬÈÏ·ÓɾÍÖ¸ÏòÁËHome¿ØÖÆÆ÷ÖеÄIndexÕâ¸öAction£©£¬ÔÚHomeControllerÖÐÐÞ¸ÄIndexÕâ¸öActionµÄ´úÂëÈçÏ£º

public ActionResult Index()
        {
            int a = 10;
            int b = 0;
            int c = a / b; //»áÅ×Ò»¸öDividedByZeroµÄÒì³£

            return View();
        }

£¨3£©ÔÚASP.NET MVCÏîÄ¿ÖУ¬ÎÒÃÇÐèÒªÔÚGlobal.asaxÖеÄApplication_StartÕâ¸öʼþÖÐÐÞ¸ÄÈ«¾Ö¹ýÂËÆ÷£¨Ö÷ÒªÊÇApp_StartÖеÄFilterConfigÀàµÄRegisterGlobalFiltersÕâ¸ö·½·¨£©£¬ÈÃϵͳ֧³Ö¶ÔÒì³£µÄÈ«¾Ö´¦Àí²Ù×÷£¨ÎÒÃÇÕâÀïÖ÷ÒªÊǶÔÒì³£½øÐмǼµ½Ö¸¶¨ÎļþÖУ©¡£PS£ºApplication_StartÊÇÕû¸öWebÓ¦ÓÃµÄÆðʼʼþ£¬Ö÷Òª½øÐÐһЩÅäÖã¨Èç¹ýÂËÆ÷ÅäÖá¢ÈÕÖ¾Æ÷ÅäÖá¢Â·ÓÉÅäÖõȵȣ©µÄ³õʼ»¯²Ù×÷£¬µ±È»ÕâЩÅäÖÃÒ²Ö»»á½øÐÐÒ»´Î¡£

public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            // MyExceptionFilterAttribute¼Ì³Ð×ÔHandleError£¬Ö÷Òª×÷ÓÃÊǽ«Òì³£ÐÅϢдÈëÈÕÖ¾ÎļþÖÐ
            filters.Add(new MyExceptionFilterAttribute());
            // ĬÈϵÄÒì³£¼Ç¼Àà
            filters.Add(new HandleErrorAttribute());
        }
    }

ͨ¹ý¸Äд¹ýÂËÆ÷ÅäÖã¬ÎÒÃÇÏòÈ«¾Ö¹ýÂËÆ÷ÖÐ×¢²áÁËÒ»¸öÒì³£´¦ÀíµÄ¹ýÂËÆ÷ÅäÖã¬ÄÇôÕâ¸öMyExceptionFilterAttributeÀàÓÖÊÇÈçºÎ±àдµÄÄØ£¿

public class MyExceptionFilterAttribute : HandleErrorAttribute
    {
        //°æ±¾1£ºÊ¹ÓÃÔ¤ÖöÓÁÐÀàÐÍ´æ´¢Òì³£¶ÔÏó
        public static Queue ExceptionQueue = new Queue();

        public override void OnException(ExceptionContext filterContext)
        {
            //½«Òì³£ÐÅÏ¢Èë¶Ó
            ExceptionQueue.Enqueue(filterContext.Exception);
            //Ìø×ªµ½×Ô¶¨Òå´íÎóÒ³
            filterContext.HttpContext.Response.Redirect("~/Common/CommonError.html");

            base.OnException(filterContext);
        }
    }

ͨ¹ýʹ¸ÃÀà¼Ì³ÐHandlerErrorAttribute²¢Ê¹Æä¸²Ð´OnExceptionÕâ¸öʼþ£¬´ú±íÔÚÒì³£·¢Éúʱ¿ÉÒÔ½øÐеIJÙ×÷¡£¶øÎÒÃÇÔÚÕâ¶ùÖ÷Ҫͨ¹ýÒ»¸öÒì³£¶ÓÁн«»ñÈ¡µÄÒ쳣дÈë¶ÓÁУ¬È»ºóÌø×ªµ½×Ô¶¨Òå´íÎóÒ³£º~/Common/CommonError.html£¬Õâ¸ö´íÎóÒ³ºÜ¼òµ¥£¬¾ÍÊǼòµ¥µÄÏÔʾ¡°ÏµÍ³·¢Éú´íÎó£¬5Ãëºó×Ô¶¯Ìø×ªµ½Ê×Ò³¡±

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>´íÎó</title>
<style type="text/css">
.timecss
{
color: red;
font-weight: bold;
}
</style>
<script type="text/javascript">
function delayJump(url) {
var timeValue = parseInt(document.getElementById("time").innerHTML);
if (timeValue > 0) {
timeValue--;
document.getElementById("time").innerHTML = timeValue;
}
else {
window.location.href = url;
}
setTimeout("delayJump('" + url + "')", 1000);
}
</script>
</head>
<body>
<h2>±§Ç¸£¬´¦ÀíÄúµÄÇëÇóʱ³ö´í¡£½«»áÔÚ<span id="time" class="timecss">5</span>Ãëºó×Ô¶¯Ìø×ªµ½Ê×Ò³£¬ÇëÄÍÐĵȺò¡£
</h2>
</body>
<script type="text/javascript">
var destUrl = "/Home/NoError";
delayJump(destUrl);
</script>
</html>

£¨4£©×ßµ½ÕâÀÉú²úÕßÏû·ÑÕßģʽÖÐÉú²úÕßµÄÈÎÎñÒѾ­Íê³ÉÁË£¬½ÓÏÂÀ´Ïû·ÑÕß¾ÍÐèÒª¿ªÊ¼Ïû·ÑÁË¡£Ò²¾ÍÊÇ˵£¬ÏûÏ¢¶ÓÁÐÒѾ­½¨ºÃÁË£¬ÎÒÃÇʲôʱºò´Ó¶ÓÁÐÖÐÈ¥ÈÎÎñ£¬ÔÚÄÄÀïÖ´ÐУ¿ÔõôÑùÖ´ÐУ¿Í¨¹ýÉÏÃæµÄ½éÉÜ£¬ÎÒÃÇÖªµÀ£¬ÔÚרÃŵÄÏûÏ¢¶ÓÁзþÎñÆ÷ÖÐÓÐÒ»¸ö½ø³ÌÔÚʼÖÕ²»Í£µØ¼àÊÓÏûÏ¢¶ÓÁУ¬Èç¹ûÓÐÐèÒª´ý°ìµÄÈÎÎñÐÅÏ¢£¬Ôò»áÁ¢¼´´Ó¶ÓÁÐÖÐÈ¡³öÀ´Ö´ÐÐÏàÓ¦µÄ²Ù×÷£¬Ö±µ½¶ÓÁÐΪ¿ÕΪֹ¡£ÓÚÊÇ£¬Ë¼Â·ÓÐÁË£¬ÎÒÃÇÂíÉÏÀ´ÊµÏÖÒÔÏ¡£Õâ¸öÏûÏ¢¼àÊӵIJÙ×÷Ò²ÊÇÒ»¸öÈ«¾Ö²Ù×÷£¬ÔÚϵͳÆô¶¯Ê±¾Í»áÒ»Ö±ÔËÐУ¬ÓÚÊÇËüÒ²Ó¦¸ÃдÔÚApplication_StartÕâ¸öÈ«¾ÖÆðʼʼþÀï±ß£¬ÓÚÊǰ´ÕÕ±ê×¼µÄÅäÖÃд·¨£¬ÎÒÃÇÔÚApplication_StartÖÐÌí¼ÓÁËÈçÏ´úÂ룺MessageQueueConfig.RegisterExceptionLogQueue()£»

 protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //×Ô¶¨Òåʼþ×¢²á
            MessageQueueConfig.RegisterExceptionLogQueue();
        }

ÄÇô£¬Õâ¸öMessageQueueConfig.RegisterExceptionLogQueue()ÓÖÊÇÔõôдµÄÄØ£¿

public class MessageQueueConfig
    {
        public static void RegisterExceptionLogQueue()
        {
            string logFilePath = HttpContext.Current.Server.MapPath("/App_Data/");
            //ͨ¹ýÏ̳߳ؿªÆôỊ̈߳¬²»Í£µØ´Ó¶ÓÁÐÖлñÈ¡Òì³£ÐÅÏ¢²¢½«ÆäдÈëÈÕÖ¾Îļþ
            ThreadPool.QueueUserWorkItem(o =>
            {
                while (true)
                {
                    try
                    {
                        if (MyExceptionFilterAttribute.ExceptionQueue.Count > 0)
                        {
                            Exception ex = MyExceptionFilterAttribute.ExceptionQueue.Dequeue(); //´Ó¶ÓÁÐÖгö¶Ó£¬»ñÈ¡Òì³£¶ÔÏó
                            if (ex != null)
                            {
                                //¹¹½¨ÍêÕûµÄÈÕÖ¾ÎļþÃû
                                string logFileName = logFilePath + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                                //»ñµÃÒì³£¶ÑÕ»ÐÅÏ¢
                                string exceptionMsg = ex.ToString();
                                //½«Òì³£ÐÅϢдÈëÈÕÖ¾ÎļþÖÐ
                                File.AppendAllText(logFileName, exceptionMsg, Encoding.Default);
                            }
                        }
                        else
                        {
                            Thread.Sleep(1000); //Ϊ±ÜÃâCPU¿Õת£¬ÔÚ¶ÓÁÐΪ¿ÕʱÐÝÏ¢1Ãë
                        }
                    }
                    catch (Exception ex)
                    {
                        MyExceptionFilterAttribute.ExceptionQueue.Enqueue(ex);
                    }
                }
            }, logFilePath);
        }
    }

ÏÖÔÚ£¬ÈÃÎÒÃÇÀ´¿´¿´Õâ¶Î´úÂ룺

¢ÙÊ×Ïȶ¨ÒåLogÎļþ´æ·ÅµÄÎļþ¼ÐĿ¼£¬ÕâÀïÎÒÃÇÒ»°ã·Åµ½App_DataÀï±ß£¬ÒòΪ·Åµ½ÕâÀï±ßÍâÍøÊÇÎÞ·¨·ÃÎʵ½µÄ£¬¿ÉÒÔ·ÀÖ¹ÏÂÔØ²Ù×÷£»

¢ÚÆä´Îͨ¹ýÏ̳߳ØThreadPool¿ªÆôÒ»¸öỊ̈߳¬²»Í£µØ¼àÌýÏûÏ¢¶ÓÁÐÀï±ßµÄ´ý°ìÊÂÏî¸öÊý£¬Èç¹û¸öÊý>0£¬Ôò½øÐгö¶Ó£¨FIFO£¬ÏÈÈë¶ÓµÄÏȳö¶Ó£©²Ù×÷¡£ÕâÀïÖ÷ÒªÊÇÈ¡³ö¾ßÌåµÄÒ쳣ʵÀý¶ÔÏ󣬲¢½«Òì³£µÄ¾ßÌå¶ÑÕ»ÐÅÏ¢×·¼ÓдÈëµ½Ö¸¶¨ÃüÃû¸ñʽµÄÎļþÖС£

¢ÛÈç¹û¸ÃÏ̼߳ì²âµ½ÏûÏ¢¶ÓÁÐÖÐÎÞ´ý°ìÊÂÏÔòʹÓÃThread.SleepʹÏ̡߳°ÐÝÏ¢¡±Ò»»á£¬±ÜÃâÁËCPU¿Õת£¨´ÓÀíÂÛÉÏÀ´Ëµ£¬CPU×ÊÔ´ÊǺÜÕä¹óµÄ£¬Ó¦¸Ã¾¡Á¿Ìá¸ßCPUµÄÀûÓÃÂÊ£©¡£

£¨5£©×îºó£¬ÎÒÃÇÀ´¿´¿´Ð§¹ûÈçºÎ£¿

¢ÙÊ×ÏÈ£¬¸ß´óÉϵÄVS²¶×½µ½ÁËÒì³£-DividedByZeroException£º

¢Ú°´ÕÕÎÒÃǵÄÈ«¾ÖÒì³£´¦Àí¹ýÂËÆ÷£¬»á½«´ËÒì³£¼ÇÈë¶ÓÁÐÖУ¬²¢·µ»ØHTTP 302ÖØ¶¨ÏòÌø×ªµ½×Ô¶¨Òå´íÎóÒ³Ãæ£º

¢Û×îºó£¬´ò¿ªApp_DataÎļþ¼Ð£¬²é¿´ÈÕÖ¾Îļþ£º

µ½ÕâÀïʱ£¬ÎÒÃÇÒѾ­½èÖúÏûÏ¢¶ÓÁеÄ˼ÏëÍê³ÉÁËÒ»¸ö×Ô¶¨ÒåµÄÒì³£ÈÕÖ¾¶ÓÁзþÎñ¡£µ«Ò²ÐíÓÐÅóÓÑ»á˵£¬Õâ¸ö¸úRedisÓйØÏµÃ´£¿Òì³£ÈÕÖ¾²»¶¼ÊÇÓÃLog4Netô£¿²»Òª×ż±£¬ºó±ßÎÒÃǾͻáʹÓÃRedis+Log4NetÀ´Öع¹Õâ¸öÒì³£ÈÕÖ¾¶ÓÁзþÎñ£¬²»Òª×ß¿ª£¬ÎÒÃDz»µÃ²å²¥¹ã¸æÅ¶£¬Ã´Ã´àª£¡

   
4940 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ

²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí

GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí