ASP µÄÐÂÔö¹¦ÄÜ ³ýÁËÄÚ²¿ÐÔÄÜÔöÇ¿ºÍÓÅ»¯Í⣬¸Ã°æ±¾µÄ Active Server Pages(ASP) »¹¾ßÓÐÈçÏÂй¦ÄÜ£º
¸üºÃµÄ¹ú¼Ê»¯ºÍ UTF-8 Ö§³Ö ¸Ä½øµÄ POST Ö§³Ö ASP ¹ÒÆð¼ì²â ³£ÓÃÎļþµÄ»º´æ UNC ÔöÇ¿ ASP ÖÐµÄ COM+ ·þÎñ µ¥ÔªÄ£ÐÍÑ¡Ôñ ²¢Åż¯ºÏ COM+ ·ÖÇø ¸ú×Ù³ÌÐò ÊÂÎñ ASP µÄÐÂÅäÖÃÊý¾Ý¿âÊôÐÔ ¸üºÃµÄ¹ú¼Ê»¯ºÍ UTF-8 Ö§³Ö UTF-8 Ö§³ÖÒѾ±»À©Õ¹µ½ËùÓÐ ASP ÄÚÖöÔÏóµÄÊôÐԺͷ½·¨ÖС£ÉÏÒ»°æ±¾µÄ ASP ½öÔÚÏìÓ¦ºÍдÈë·½ÃæÖ§³Ö UTF-8¡£
¸Ä½øµÄ POST Ö§³Ö ASP Ŀǰ¿ÉÒÔ´Ó¿Í»§¶Ë¶ÁÈ¡ Chunked ±àÂëµÄ POST Êý¾Ý¡£
ASP ¹ÒÆð¼ì²â µ± IIS ÍøÕ¾·±Ã¦Ê±£¬¿ÉÄÜ»á³öÏÖÕâÑùµÄÇé¿ö£ºÑ¸ËÙÉú³É×î´óÊýÁ¿µÄ ASP Ị̈߳¬ÆäÖеÄһЩ ASP Ï̱߳»¹ÒÆð£¬´Ó¶øµ¼ÖÂÐÔÄÜϽµ¡£ HSE_REQ_REPORT_UNHEALTHY ÒÔ¼°ÍòÎ¬Íø·¢²¼·þÎñ£¨WWW ·þÎñ£©½«»ØÊÕÖ÷¿Ø ASP.dll µÄ¹¤×÷½ø³Ì£¬²¢½«ÏîÄ¿Ìí¼Óµ½Ê¼þÈÕÖ¾ÖС£
×¢Òâ Èç¹ûÏ̲߳»ÏìÓ¦³¬Ê±£¬Ôò½«ÆäÊÓΪ¡°¹ÒÆð¡±¡£
³£ÓÃÎļþµÄ»º´æ Ŀǰ£¬ASP ³ýÁ˱£ÁôÄڴ滺´æÖ®Í⣬»¹ÔÚ´ÅÅÌÉÏ»º´æÒ»Ð©×î³£ÓõÄÎļþ¡£´ÅÅÌ»º´æµÄĬÈÏλÖÃÊÇ %systemroot%\System32\inetsrv\ASP Compiled Templates¡£¿ÉÒÔͨ¹ýÉèÖà AspDiskTemplateCacheDirectory ÅäÖÃÊý¾Ý¿âÊôÐÔÀ´¸ü¸ÄÓ²ÅÌ»º´æµÄλÖá£
UNC ÔöÇ¿ Ŀǰ£¬ASP Äܹ»´¦Àí ASP ½Å±¾ÖÐµÄ UNC ·¾¶¡£
ASP ÖÐµÄ COM+ ·þÎñ Èç¹ûÏëÒªÔÚÒÔǰ°æ±¾µÄ IIS ÖÐʹÓà ASP Ó¦ÓóÌÐòÌṩµÄ COM+ ·þÎñ£¬Äú±ØÐë´´½¨¿ÉÒÔµ÷ÓÃÄÇЩ·þÎñµÄ·½·¨µÄ COM ×é¼þ¡£Ä¿Ç°£¬Äú¿ÉÒÔÅäÖà ASP Ó¦ÓóÌÐòÒÔʹÓÃÏÂÃæµÄ COM+ ·þÎñ¶ø²»±Ø´´½¨ COM ×é¼þ£º
µ¥ÔªÄ£ÐÍÑ¡Ôñ£º ASP ÏÖÔÚÄܹ»ÔÚ¶àÏ̵߳¥Ôª (MTA) ÖÐÔËÐÐÆäÈ«²¿Ï̡߳£Èç¹û COM ×é¼þÖ÷ÒªÊÇ×ÔÓÉÏ̻߳òË«Ïß³Ì×é¼þ£¬Ôò½« ASP Ïß³Ì×÷Ϊ MTA ÔËÐпÉÏÔÖø¸ÄÉÆÐÔÄÜ¡£
Ҫʹ ASP Ó¦ÓóÌÐòÄܹ»ÔÚ MTA ÖÐÔËÐУ¬Äú¿ÉÒÔÔÚÓ¦ÓóÌÐò¼¶±ðʹÓÃÅäÖÃÊý¾Ý¿âÉèÖà AspExecuteInMTA¡£ÕâÒâζ×ÅÄú¿ÉÒÔÈÃÒ»¸öÓ¦ÓóÌÐòÔËÐÐÓÚ ASP MTA Ïß³ÌÉÏ£¬¶øÈõڶþ¸öÓ¦ÓóÌÐòÔËÐÐÓÚ ASP STA£¨µ¥Ï̵߳¥Ôª£©Ïß³ÌÉÏ¡£ASP Ï̵߳ÄĬÈÏÉèÖÃÈÔΪ STA¡£
Òªµã µ±Äú½« ASP Ó¦ÓóÌÐòµÄÔËÐл·¾³´Ó STA Çл»µ½ MTA£¨»ò´Ó MTA Çл»µ½ STA£©Ê±£¬ÔòÄ£ÄâÁîÅÆ½«¹ýʱ¡£Õâ¿ÉÄܵ¼ÖÂÓ¦ÓóÌÐòÔÚÎÞÄ£ÄâµÄÇé¿öÏÂÔËÐУ¬ÈÃÆäÓÿÉÄÜÔÊÐí·ÃÎÊÆäËû×ÊÔ´µÄ½ø³ÌµÄ±êʶÓÐЧµØÔËÐС£Èç¹ûÄú±ØÐëÇл»Ïß³ÌÄ£ÐÍ£¬ÇëÔÚ½øÐиü¸Ä֮ǰ½ûÓøÃÓ¦ÓóÌÐò²¢½«ÆäÐ¶ÔØ¡£
ÏÂÁÐʾÀýÉèÖÃĬÈÏÍøÕ¾Ó¦ÓóÌÐò (W3SVC/1/ROOT) ÔÚ MTA ÖÐÖ´ÐУº
On Error Resume Next set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2") ' »ñµÃ¶ÔÃûΪ¡°Ä¬ÈÏÍøÕ¾¡±µÄ ASP Ó¦ÓóÌÐòµÄÒýÓà set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "Before: AspExecuteInMTA = " & IIsWebVirtualDirSettingObj.AspExecuteInMTA ' ½« ASP Ó¦ÓóÌÐòÉèÖÃΪÔÚ MTA ÖÐÖ´ÐÐ IIsWebVirtualDirSettingObj.AspExecuteInMTA = 1 IIsWebVirtualDirSettingObj.Put_() WScript.Echo "After: AspExecuteInMTA = " & IIsWebVirtualDirSettingObj.AspExecuteInMTA ²¢Åż¯ºÏ£º ²¢ÅÅ (SxS) ¼¯ºÏÔÊÐí ASP Ó¦ÓóÌÐòÖ¸¶¨ÒªÊ¹ÓÃÄĸö°æ±¾µÄϵͳ DLL »ò´«Í³ COM ×é¼þ£¬ÀýÈç MDAC¡¢MFS¡¢MSVCRT¡¢MSXML µÈ¡£ÀýÈ磬Èç¹ûÄúµÄ ASP Ó¦ÓóÌÐòÒÀÀµ MSXML 2.0 °æ£¬Ôò¿ÉÒÔÈ·±£¼´Ê¹ÊÇÔÚ·þÎñÆ÷ÉÏÓ¦ÓÃÁË Service Pack Ö®ºó£¬ÄúµÄÓ¦ÓóÌÐòÈÔʹÓà MSXML 2.0 °æ¡£ÈκÎа汾µÄ MSXML ÈÔ°²×°ÔÚ¼ÆËã»úÉÏ£¬µ«ÊDZ£Áô 2.0 °æÇÒÓÉÓ¦ÓóÌÐòʹÓá£ÅäÖà SxS ³ÌÐò¼¯ÒªÇóÄúÖªµÀ DLL µÄ·¾¶£¬ÇÒ COM+ Çåµ¥Îļþ´æÔÚÓÚÿ¸öÐèҪʹÓà DLL µÄÐéÄâĿ¼ÖС£COM+ Çåµ¥Êǰüº¬ÓÐ¹Ø DLL °²×°Î»ÖÃÐÅÏ¢µÄ XML Îļþ¡£IIS ²»ÑéÖ¤Çåµ¥ÊÇ·ñ´æÔÚ¡£Çåµ¥µÄÍâ¹ÛÀàËÆÓÚÏÂÃæµÄÎļþժ¼£º
Äú¿ÉÒÔÔÚ IIS ¶ËÒÔ±à³Ì·½Ê½»òÕßͨ¹ýʹÓà IIS ¹ÜÀíÆ÷À´ÆôÓò¢Åż¯ºÏ¡£
ÔÚ IIS ¶ËʹÓà IIS ¹ÜÀíÆ÷ÆôÓò¢Åż¯ºÏ
ÔÚ IIS ¹ÜÀíÆ÷ÖУ¬ÓÒ¼üµ¥»÷ÍøÕ¾»òÐéÄâĿ¼£¬È»ºóµ¥»÷¡°ÊôÐÔ¡±¡£ µ¥»÷¡°ÐéÄâĿ¼¡±Ñ¡Ï£¬È»ºóµ¥»÷¡°ÅäÖᱡ£ Èç¹ûÅäÖð´Å¥²»¿ÉÓã¬ÄÇôÔÒòÊÇ»¹Ã»ÓÐΪ¸ÃÐéÄâĿ¼´´½¨Ó¦ÓóÌÐò¡£µ¥»÷¡°´´½¨¡±ÒÔ´´½¨Ò»¸öÓ¦ÓóÌÐò¡£ ÔÚ¡°Ó¦ÓóÌÐòÅäÖá±¶Ô»°¿òÖУ¬µ¥»÷¡°Ñ¡ÏѡÏ¡£ Ñ¡ÖС°ÆôÓò¢Åż¯ºÏ¡±¸´Ñ¡¿ò¡£ ÔÚ¡°Çåµ¥ÎļþÃû¡±¿òÖУ¬¼üÈë COM+ Çåµ¥ÎļþµÄÃû³Æ¡£ µ¥»÷¡°È·¶¨¡±Á½´Î¡£ Ҫͨ¹ý±à³ÌÆôÓò¢Åż¯ºÏ£¬ÇëÉèÖà AspAppServiceFlags ÅäÖÃÊý¾Ý¿âÊôÐ﵀ AspEnableSxs ±êÖ¾¡£Í¬Ê±½« AspSxsName ÅäÖÃÊý¾Ý¿âÊôÐÔÉèÖÃΪ COM+ Çåµ¥µÄÃû³Æ¡£ÔÚÓ¦ÓóÌÐò¼¶±ðÉèÖÃÕâÁ½¸öÅäÖÃÊý¾Ý¿âÊôÐÔ¡£
Òªµã ¼´Ê¹¸Ã¹¦ÄÜ¿ÉÔÚÓ¦ÓóÌÐò¼¶±ð½øÐÐÅäÖã¬ÔÚÈκÎÒ»¸öÓ¦ÓóÌÐò³ØÖж¼Ö»ÄÜʹÓÃÒ»¸ö°æ±¾µÄϵͳ DLL¡£ÀýÈ磬Èç¹ûÓ¦ÓóÌÐò App1 ʹÓà MDAC 2.5 °æ£¬Ó¦ÓóÌÐò App2 ʹÓà MDAC 2.4 °æ£¬Ôò App1 ºÍ App2 ²»Ó¦Î»ÓÚͬһ¸öÓ¦ÓóÌÐò³ØÖС£Èç¹ûËüÃÇλÓÚͬһ¸öÓ¦ÓóÌÐò³ØÖУ¬ÔòÊ×ÏȼÓÔØµÄÓ¦ÓóÌÐò¼ÓÔØÓëÖ®Ïà¶ÔÓ¦µÄ MDAC °æ±¾£¬ÔÚÐ¶ÔØÕâЩӦÓóÌÐò֮ǰ£¬ÆäËûÓ¦ÓóÌÐòÖ»Äܱ»ÆÈʹÓøð汾¡£
ÏÂÁÐʾÀýÔÚĬÈÏÍøÕ¾Ó¦ÓóÌÐò (W3SVC/1/ROOT) ÉÏÆôÓò¢Åż¯ºÏ¡£Çë×¢Ò⣬ֻҪÉèÖÃÁË AspEnableTracker ÊôÐÔ£¬AspAppServiceFlags ÊôÐԾͷ¢Éú¸Ä±ä£º
On Error Resume Next set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2") ' »ñµÃ¶ÔÃûΪ¡°Ä¬ÈÏÍøÕ¾¡±µÄ ASP Ó¦ÓóÌÐòµÄÒýÓà set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "Before: AspEnableSxs = " & IIsWebVirtualDirSettingObj.AspEnableSxs WScript.Echo " AspSxsName = " & IIsWebVirtualDirSettingObj.AspSxsName WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags ' ÉèÖà ASP Ó¦ÓóÌÐòÒÔÆôÓà COM+ ²¢Åż¯ºÏ IIsWebVirtualDirSettingObj.AspEnableSxs = 1 ' ÉèÖà AspSxsName ÊôÐÔ IIsWebVirtualDirSettingObj.AspSxsName = "VersionInfo" ' ½«Öµ±£´æµ½ IIS ÅäÖÃÊý¾Ý¿âÖÐ IIsWebVirtualDirSettingObj.Put_() ' ÔٴλñµÃÒýÓÃÒÔˢРAspAppServiceFlags ÊôÐÔ¡£ set IIsWebVirtualDirSettingObj = Nothing set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "After: AspEnableSxs = " & IIsWebVirtualDirSettingObj.AspEnableSxs WScript.Echo " AspSxsName = " & IIsWebVirtualDirSettingObj.AspSxsName WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags COM+ ·ÖÇø£º COM+ ·ÖÇø¿ÉÓÃÓÚ½« Web Ó¦ÓóÌÐò¸ôÀëµ½ËüÃǸ÷×﵀ COM+ ·ÖÇøÖС£Õâ¶ÔÓÚ½ûÖ¹Ò»¸ö Web Ó¦Óó̷ÃÎÊÁíÒ»¸ö Web Ó¦ÓóÌÐòµÄרÓà COM+ Ó¦ÓóÌÐò¡¢ÅäÖÃÐÅÏ¢ºÍÊý¾Ý·Ç³£ÓÐÓá£COM+ ·ÖÇø¿ÉÓµÓÐ×Ô¶¨Òå COM ×é¼þµÄ²»Í¬°æ±¾¡£ÀýÈ磬Èç¹ûΪÁ½¸ö¾ºÕùµÄ¹«Ë¾ËÞÖ÷ÍøÕ¾£¬ËüÃǶ¼ÔÚÆä Web Ó¦ÓóÌÐòÖÐʹÓÃÁË COM+£¬Ôò¿ÉÒÔʹÓà COM+ ·ÖÇøÀ´È·±£Ò»¸ö¹«Ë¾µÄ Web Ó¦ÓóÌÐò²»ÄÜ·ÃÎÊÁíÒ»¸ö¹«Ë¾µÄ Web Ó¦ÓóÌÐòÖÐµÄ COM+ ×é¼þ¡£Èç¹ûÆäÖÐij¸ö¹«Ë¾ÒªÇóÄú¸ü¸ÄËüÃǶ¼Ê¹ÓÃµÄ COM+ Ó¦ÓóÌÐòµÄijЩ¹¦ÄÜ£¬Äú¿ÉÒÔÔÚÁ´½Óµ½ËüÃÇµÄ Web Ó¦ÓóÌÐòµÄ·ÖÇøÖиôÀë¸Ã COM+ Ó¦ÓóÌÐòµÄа汾¡£
ÒªÔÚ IIS ¶ËÆôÓà COM+ ·ÖÇø£¬ÇëÔÚÓ¦ÓóÌÐò¼¶±ðÉèÖà AspAppServiceFlags ÅäÖÃÊý¾Ý¿âÊôÐ﵀ AspUsePartition ±êÖ¾¡£·ÖÇøÓÉ GUID£¨Ê¹ÓÃ×é¼þ·þÎñ¹ÜÀíÆ÷¹ÜÀíµ¥Ôª´´½¨£©±êʶ£¬Ëü¿ÉÔÚ AspPartitionID ÅäÖÃÊý¾Ý¿âÊôÐÔÉϽøÐÐÉèÖá£Èç¹ûδָ¶¨ÈκηÖÇø£¬ÔòʹÓÃĬÈÏϵͳ·ÖÇø¡£ÏêϸÐÅÏ¢£¬Çë²ÎÔÄ COM+ SDK Öеġ°´´½¨ºÍÅäÖà COM+ ·ÖÇø¡±»òÁª»ú²é¿´ COM+ (Component Services)¡£
Òªµã ¼´Ê¹¸Ã¹¦ÄÜ¿ÉÔÚÓ¦ÓóÌÐò¼¶±ð½øÐÐÅäÖã¬ÔÚÈκÎÒ»¸öÓ¦ÓóÌÐò³ØÖÐÒ²Ö»ÄÜʹÓÃÒ»¸ö°æ±¾µÄ COM+ ×é¼þ¡£ÀýÈ磬Èç¹ûÓ¦ÓóÌÐò App1 ʹÓÃÃûΪ Shop.dll µÄ 1.0 °æµÄ×Ô¶¨Òå COM+ Ó¦ÓóÌÐò£¬Ó¦ÓóÌÐò App2 ʹÓà 2.0 °æµÄ Shop.dll£¬Ôò App1 ºÍ App2 ²»Ó¦Î»ÓÚͬһ¸öÓ¦ÓóÌÐò³ØÖС£Èç¹ûËüÃÇλÓÚͬһ¸öÓ¦ÓóÌÐò³ØÖУ¬ÔòÊ×ÏȼÓÔØµÄÓ¦ÓóÌÐò¼ÓÔØÓëÖ®¶ÔÓ¦µÄ Shop.dll °æ±¾£¬ÔÚÐ¶ÔØÕâЩӦÓóÌÐò֮ǰ£¬ÁíÒ»¸öÓ¦ÓóÌÐòÖ»Äܱ»ÆÈʹÓøð汾¡£
ÏÂÁÐʾÀýÔÚĬÈÏÍøÕ¾Ó¦ÓóÌÐò (W3SVC/1/ROOT) ÉÏÆôÓ÷ÖÇø¡£Çë×¢Ò⣬ֻҪÉèÖÃÁË AspEnableTracker ÊôÐÔ£¬AspAppServiceFlags ÊôÐԾͷ¢Éú¸Ä±ä¡£
On Error Resume Next set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2") ' »ñµÃ¶ÔÃûΪ¡°Ä¬ÈÏÍøÕ¾¡±µÄ ASP Ó¦ÓóÌÐòµÄÒýÓà set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "Before: AspUsePartition = " & IIsWebVirtualDirSettingObj.AspUsePartition WScript.Echo " AspPartitionID = " & IIsWebVirtualDirSettingObj.AspPartitionID WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags ' ÉèÖà ASP Ó¦ÓóÌÐòÒÔÆôÓà COM+ ·ÖÇø IIsWebVirtualDirSettingObj.AspUsePartition = 1 ' ½« AspPartitionID ÊôÐÔÉèÖÃΪÔÚ×é¼þ·þÎñ¹ÜÀíÆ÷ÖÐÅäÖÃµÄ GUID ' µ±Äú´´½¨ COM+ ·ÖÇøÊ± IIsWebVirtualDirSettingObj.AspPartitionID = "{00000000-0000-0000-0000-000000000000}" ' ½«Öµ±£´æµ½ IIS ÅäÖÃÊý¾Ý¿âÖÐ IIsWebVirtualDirSettingObj.Put_() ' ÔٴλñµÃÒýÓÃÒÔˢРAspAppServiceFlags ÊôÐÔ¡£ set IIsWebVirtualDirSettingObj = Nothing set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "After: AspUsePartition = " & IIsWebVirtualDirSettingObj.AspUsePartition WScript.Echo " AspPartitionID = " & IIsWebVirtualDirSettingObj.AspPartitionID WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags ¸ú×Ù³ÌÐò£º COM+ ¸ú×Ù³ÌÐòÔÊÐí¹ÜÀíÔ±»ò¿ª·¢ÈËÔ±µ÷ÊÔ ASP Ó¦ÓóÌÐò¡£ÀýÈ磬Èç¹û Web Ó¦ÓóÌÐòÔÚ·þÎñÆ÷ÉϲúÉúÎÊÌ⣬Ôò¿ÉÒÔÆôÓà COM+ ¸ú×Ù³ÌÐò£¬ÒÔ±ãÈ·¶¨ ASP Ò³ÔÚºÎʱ¼ÓÔØ¡¢COM ×é¼þÔÚºÎʱ¼ÓÔØÒÔ¼°Ï̺߳ÎʱÀë¿ªÍøÒ³¡£ÔÚµ÷ÊÔÓ¦ÓóÌÐòÖ®ºó£¬¿É½ûÓà COM+ ¸ú×Ù³ÌÐò£¬Ê¹Ó¦ÓóÌÐò·µ»Øµ½Õý³£µÄÖ´ÐÐËÙ¶È¡£
ÒªÔÚ IIS ¶ËÉÏÆôÓà COM+ ¸ú×Ù³ÌÐò£¬ÇëÔÚÓ¦ÓóÌÐò¼¶±ðÖÐÉèÖà AspAppServiceFlags ÅäÖÃÊý¾Ý¿âÊôÐ﵀ AspEnableTracker ±êÖ¾¡£
ÏÂÁÐʾÀýÔÚĬÈÏÍøÕ¾Ó¦ÓóÌÐò (W3SVC/1/ROOT) ÉÏÆôÓøú×Ù¡£Çë×¢Ò⣬ֻҪÉèÖÃÁË AspEnableTracker ÊôÐÔ£¬AspAppServiceFlags ÊôÐԾͷ¢Éú¸Ä±ä£º
On Error Resume Next set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2") ' »ñµÃ¶ÔÃûΪ¡°Ä¬ÈÏÍøÕ¾¡±µÄ ASP Ó¦ÓóÌÐòµÄÒýÓà set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "Before: AspEnableTracker = " & IIsWebVirtualDirSettingObj.AspEnableTracker WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags ' ÉèÖà ASP Ó¦ÓóÌÐòÒÔÆôÓà COM+ ¸ú×Ù IIsWebVirtualDirSettingObj.AspEnableTracker = 1 IIsWebVirtualDirSettingObj.Put_() ' ÔٴλñµÃÒýÓÃÒÔˢРAspAppServiceFlags ÊôÐÔ¡£ set IIsWebVirtualDirSettingObj = Nothing set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") WScript.Echo "After: AspEnableTracker = " & IIsWebVirtualDirSettingObj.AspEnableTracker WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags ÊÂÎñ£º´Ó IIS 4.0 °æÆð£¬ASP Ò³ÃæÖÐÒѾ֧³ÖÊÂÎñµÄʹÓᣵ«ÊÇ£¬IIS ¸ü¸ÄÁËÊÂÎñµÄÄÚ²¿ÊµÏÖÒÔ±ãÀûÓà COM+ ·þÎñ¡£IIS ²»ÔÙͨ¹ý´´½¨ COM ×é¼þÀ´ÈÝÄÉÊÂÎñ£¬¶øÊÇÖ±½Ó·ÃÎÊ COM+ ÊÂÎñ·þÎñ£¬Òò¶ø´ó´óµØÌá¸ßÁËÊÂÎñ´¦ÀíµÄËÙ¶È¡£ÓëÒÔǰһÑù£¬ÊÂÎñÖ»ÄÜÔÚÒ³Ãæ¼¶±ð½øÐÐÅäÖã¬ÅäÖÃʱʹÓà @TRANSACTION Ö¸ÁîºÍ ASP ÄÚÖöÔÏóµÄʼþ£¬¸Ã¶ÔÏóÃûΪ ObjectContext¡£ ASP µÄÐÂÅäÖÃÊý¾Ý¿âÊôÐÔ ÏÂÃæµÄÅäÖÃÊý¾Ý¿âÉèÖÃÒѱ»Ìí¼Óµ½´Ë°æ±¾µÄ ASP ÖС£
ÅäÖÃÊý¾Ý¿âÊôÐÔÃû ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓÃ; AspAppServiceFlags¡¡ÓÃ;£ºÆôÓÃÖîÈç COM+ ²¢Åż¯ºÏ£¨ÒÔǰ±»³ÆÎª Fusion£©¡¢·ÖÇøµÈ¹¦ÄÜ¡£ AspDiskTemplateCacheDirectory¡¡¡¡ÓÃ; £ºÖ¸¶¨ASP ´ÅÅÌ»º´æµÄλÖᣠAspExecuteInMTA¡¡¡¡ÓÃ; £ºÊ¹ASP Ïß³ÌÄܹ»ÔÚ¶àÏ̵߳¥ÔªÖÐÖ´ÐС£ AspKeepSessionIDSecure¡¡¡¡ÓÃ; £º½« ASP »á»° Cookie °²È«µØ·¢Ë͵½ä¯ÀÀÆ÷¡£ AspMaxDiskTemplateCacheFiles¡¡¡¡ÓÃ; £ºÖ¸¶¨ ASP µÄ×î´óÓ²ÅÌ»º´æ¡£ AspPartitionID¡¡¡¡ÓÃ; £ºÎªÓ¦ÓóÌÐòÖ¸¶¨ËùʹÓÃµÄ COM+ ·ÖÇø¡£ AspRunOnEndAnonymously¡¡¡¡ÓÃ; £ºÊ¹ASP Äܹ»ÒÔÄäÃû·½Ê½ÔËÐÐ global.asa Application_OnEnd ºÍ Session_OnEnd ʼþ¡£ AspBufferingLimit¡¡¡¡ÓÃ; £ºÖ¸¶¨»º³åÇø´óСµÄÏÞÖÆ¡£ AspMaxRequestEntityAllowed ¡¡¡¡ÓÃ; £ºÖ¸¶¨ ASP ÇëÇóµÄʵÌåÖÐÔÊÐíµÄ×î´ó×Ö½ÚÊý¡£ AspSxsName¡¡¡¡ÓÃ; £ºÔÊÐí ASP Ó¦ÓóÌÐòÖ¸¶¨ÒªÊ¹ÓõÄϵͳ DLL »ò ´«Í³ COM ×é¼þµÄ°æ±¾¡£ |