IIS7¼Ü¹¹¼ò½é£º
1£ºWindows½ø³Ì¼¤»î·þÎñ£¨WAS£©£¬Ê¹ÍøÕ¾Ê¹ÓÃHTTPºÍHTTPSÒÔÍâµÄÆäËûÐÒé¡£
Windows ½ø³Ì¼¤»î·þÎñͨ¹ýɾ³ý¶Ô HTTP µÄÒÀÀµ¹ØÏµ£¬¿Éͳһ Internet ÐÅÏ¢·þÎñ
(IIS) ½ø³ÌÄ£ÐÍ¡£Í¨¹ýʹÓÃ·Ç HTTP ÐÒ飬ÒÔǰֻ¿ÉÓÃÓÚ HTTP Ó¦ÓóÌÐòµÄ IIS µÄËùÓй¦ÄÜÏÖÔÚ¶¼¿ÉÓÃÓÚÔËÐÐ
Windows Communication Foundation (WCF) ·þÎñµÄÓ¦ÓóÌÐò¡£IIS 7.0
»¹Ê¹Óà Windows ½ø³Ì¼¤»î·þÎñͨ¹ý HTTP ʵÏÖ»ùÓÚÏûÏ¢µÄ¼¤»î¡£
2£ºWeb·þÎñÆ÷ÒýÇæ£¬Ëü¿ÉÒÔͨ¹ýÌí¼Ó»òɾ³ýÄ£¿é¶¨ÖÆ¡£
3: ¼¯³ÉµÄIISºÍASP.NETÇëÇó´¦Àí¹ÜÏß¡£
IIS 7.0 µÄ ASP.NET Ó¦ÓóÌÐòÉúÃüÖÜÆÚ ÍйܹܵÀģʽ£º¾µäģʽ(Classic)
¼¯³Éģʽ(Integrated)
Ê×ÏÈÉùÃ÷Á½¸ö¸ÅÄASP.NETÓ¦ÓóÌÐòÉúÃüÖÜÆÚ¡¢ ASP.NETÒ³ÉúÃüÖÜÆÚ(http://msdn.microsoft.com/zh-cn/library/ms178472(v=vs.100).aspx)
¡°¹ÜµÀģʽ¡±Õë¶ÔASP.NETÓ¦ÓóÌÐòÉúÃüÖÜÆÚ¶øÑÔ£¬Çø·ÖΪ ¾µäģʽºÍ¼¯³Éģʽ¡£
IIS7.0¼¯³É¹ÜµÀÊÇÒ»ÖÖͳһµÄÇëÇó´¦Àí¹ÜµÀ£¬Ëüͬʱ֧³Ö±¾»ú´úÂëºÍÍйܴúÂëÄ£¿é¡£ÊµÏÖIHttpModule½Ó¿ÚµÄÍйܴúÂëÄ£¿é¿É·ÃÎʸÃÇëÇó¹ÜµÀÖеÄËùÓÐʼþ¡£ÀýÈ磬ÍйܴúÂëÄ£¿é¿ÉÓÃÓÚ
ASP.NET ÍøÒ³£¨.aspx Îļþ£©ºÍ HTML Ò³£¨.htm »ò .html Îļþ£©µÄ ASP.NET
Forms Éí·ÝÑéÖ¤¡£
ȨÍþ²Î¿¼£ºhttp://msdn.microsoft.com/zh-cn/library/bb470252(v=VS.100).aspx
ÔÚIIS6.0ÖУ¬ÓÐÁ½¸öÇëÇó´¦Àí¹ÜµÀ£º1.ÓÃÓÚ±¾»ú´úÂëISAPIɸѡÆ÷ºÍÀ©Õ¹×é¼þ£»2.ÓÃÓÚÍйܴúÂëÓ¦ÓóÌÐò×é¼þ¡£ÔÚIIS7.0
ÖУ¬ASP.NETÔËÐÐʱÓëWeb·þÎñÆ÷¼¯³É£¬ÓÐÁËÒ»¸öÕë¶ÔËùÓÐÇëÇóµÄͳһÇëÇó´¦Àí¹ÜµÀ¡£
ȨÍþ²Î¿¼£º http://msdn.microsoft.com/zh-cn/library/ms178473(v=vs.100).aspx
IIS5¡¢IIS6ÔÀí£º

IIS 5.xÓëASP.NET
IIS 5.xÔËÐÐÔÚIIS½ø³ÌInetInfo.exeÖУ¬Ôڸýø³ÌÖÐÒ»¸ö×îÖØÒªµÄ·þÎñ¾ÍÊÇÃûΪWorld
Wide Web Publishing Service£¨¼ò³ÆW3SVC£©µÄWindows Service¡£W3SVCµÄÖ÷Òª¹¦ÄܰüÀ¨HTTPÇëÇóµÄ¼àÌý¡¢¹¤×÷½ø³ÌµÄ¹ÜÀíÒÔ¼°ÅäÖùÜÀí£¨Í¨¹ý´ÓMetabaseÖмÓÔØÏà¹ØÅäÖÃÐÅÏ¢£©µÈ¡£
µ±¼ì²âµ½Ä³¸öHTTP Requestºó£¬Ïȸù¾ÝÀ©Õ¹ÃûÅжÏÇëÇóµÄÊÇ·ñÊǾ²Ì¬×ÊÔ´£¨±ÈÈç.html,.img,.txt,.xmlµÈ£©£¬Èç¹ûÊÇÔòÖ±½Ó½«ÎļþÄÚÈÝÒÔHTTP
ResponseµÄÐÎʽ·µ»Ø¡£Èç¹ûÊǶ¯Ì¬×ÊÔ´£¨±ÈÈç.aspx,asp,phpµÈµÈ£©£¬Ôòͨ¹ýÀ©Õ¹Ãû´ÓIISµÄ½Å±¾Ó°É䣨Script
Map£©ÕÒµ½ÏàÓ¦µÄISAPI Dll¡£
ISAPIÊÇInternet·þÎñÆ÷API£¨Internet Server Application Programming
Interface£©µÄËõд£¬ÊÇÒ»Ì×±¾µØµÄWin32 API£¬¾ßÓнϸߵÄÖ´ÐÐÐÔÄÜ,ÊÇIISºÍWebÓ¦ÓûòÕ߯½Ì¨Ö®¼äµÄŦ´ø¡£±ÈÈçASP
ISAPIÇŽÓIISÓëASP£¬¶øASP.NET ISAPIÔòÁ¬½Ó×ÅIISÓëASP.NET¡£ISPAI¶¨ÒåÔÚÒ»¸öDllÖУ¬ASP.NET
ISAPI¶ÔÓ¦µÄDllΪAspnet_isapi.dll,Äã¿ÉÒÔÔÚĿ¼¡°%windir%\Microsoft.NET\Framework\{version
no}\¡±ÖÐÕÒµ½¸ÃDll¡£
ISAPIÖ§³ÖISAPIÀ©Õ¹ºÍISAPIɸѡ£¬Ç°ÕßÊÇÕæÕý´¦ÀíHTTPÇëÇóµÄ½Ó¿Ú£¬ºóÕßÔò¿ÉÒÔÔÚHTTPÇëÇóÕæÕý±»´¦Àí֮ǰ²é¿´¡¢Ð޸ġ¢×ª·¢»òÕ߾ܾøÇëÇ󣬱ÈÈçIIS¿ÉÒÔÀûÓÃISAPIɸѡ½øÐÐÇëÇóµÄÑéÖ¤£¨Authentication£©¡£
Èç¹ûÇëÇóASP.NETµÄ×ÊÔ´ÀàÐÍ£¬Aspnet_isapi.dll»á±»¼ÓÔØ£¬ASP.NET ISAPIÀ©Õ¹»á´´½¨ASP.NETµÄ¹¤×÷½ø³Ì£¨Èç¹û¸Ã½ø³ÌÉÐδÆô¶¯£©£¬¶ÔÓÚIIS
5.xÀ´Ëµ£¬¸Ã¹¤×÷½ø³ÌΪaspnet_wp.exe¡£IIS½ø³ÌÓ빤×÷½ø³ÌÖ®¼äͨ¹ýÃüÃû¹ÜµÀ½ø³ÌͨÐÅ£¬ÒÔ»ñµÃ×îºÃµÄÐÔÄÜ¡£
ÔÚ¹¤×÷½ø³Ì³õʼ»¯¹ý³ÌÖУ¬.NET ÔËÐÐʱ£¨CLR£©±»¼ÓÔØ£¬´Ó¶ø¹¹½¨ÁËÒ»¸öÍйܵĻ·¾³¡£¶ÔÓÚij¸öWebÓ¦Óõijõ´ÎÇëÇó£¬CLR»áΪÆä´´½¨Ò»¸öAppDomain¡£ÔÚ´ËAppDomainÖУ¬HTTP
Runtime±»¼ÓÔØ²¢ÓÃÒÔ´´½¨ÏàÓ¦µÄÓ¦Ó᣶ÔÓÚ¼ÄËÞÓÚIIS 5.xµÄËùÓÐWeb Ó¦Óö¼ÔËÐÐÔÚͬһ¸ö½ø³Ì£¨¹¤×÷½ø³ÌAspnet_wp.exe£©µÄ²»Í¬AppDomainÖС£
IIS 6ÓëASP.NET
ͨ¹ýÉÏÃæµÄ½éÉÜ£¬ÎÒÃÇ¿ÉÒÔ¿´³öIIS 5.xÖÁÉÙ´æÔÚ×ÅÈçÏÂÁ½¸ö·½ÃæµÄ²»×㣺
ISAPI Dll±»¼ÓÔØµ½InetInfo.exe½ø³ÌÖУ¬ËüºÍ¹¤×÷½ø³ÌÖ®¼äÊÇÒ»ÖÖµäÐÍµÄ¿ç½ø³ÌͨÐÅ·½Ê½£¬¾¡¹Ü²ÉÓÃÐÔÄÜ×îºÃµÄÃüÃû¹ÜµÀ£¬µ«ÊÇÈÔÈ»»á´øÀ´ÐÔÄܵį¿¾±£»
ËùÓеÄASP.NETÓ¦Óã¬ÔËÐÐÔÚÏàͬµÄ½ø³Ì£¨aspnet_wp.exe£©ÖеIJ»Í¬µÄÓ¦ÓóÌÐòÓò£¨AppDomain£©ÖУ¬»ùÓÚÓ¦ÓóÌÐòÓòµÄ¸ôÀë¼¶±ð²»ÄÜ´Ó¸ù±¾ÉϽâ¾öÒ»¸öÓ¦ÓóÌÐò¶ÔÁíÒ»¸ö³ÌÐòµÄÓ°Ï죬ÔÚ¸ü¶àµÄʱºò£¬ÎÒÃÇÐèÒª²»Í¬µÄWebÓ¦ÓÃÔËÐÐÔÚ²»Í¬µÄ½ø³ÌÖС£
ÔÚIIS 6.0ÖУ¬ÎªÁ˽â¾öµÚÒ»¸öÎÊÌ⣬ISAPI.dll±»Ö±½Ó¼ÓÔØµ½¹¤×÷½ø³ÌÖС£ÎªÁ˽â¾öµÚ2¸öÎÊÌ⣬ÒýÈëÁËÓ¦ÓóÌÐò³Ø£¨Application
Pool£©µÄ»úÖÆ¡£ÎÒÃÇ¿ÉÒÔΪһ¸ö»òÕß¶à¸öWebÓ¦Óô´½¨Ó¦ÓóÌÐò³Ø£¬Ã¿Ò»¸öÓ¦ÓóÌÐò³Ø¶ÔÓ¦Ò»¸ö¶ÀÁ¢µÄ¹¤×÷½ø³Ì£¬´Ó¶øÎªÔËÐÐÔÚ²»Í¬Ó¦ÓóÌÐò³ØÖеÄWebÓ¦ÓÃÌṩ»ùÓÚ½ø³ÌµÄ¸ôÀë¼¶±ð¡£IIS
6.0µÄ¹¤×÷½ø³ÌÃû³ÆÎªw3wp.exe¡£
IIS 6.0´´½¨ÁËÒ»¸öеÄHTTP¼àÌýÆ÷£ºHTTPÐÒéÕ»£¨HTTP Protocol Stack£¬HTTP.SYS£©¡£HTTP.SYSÔËÐÐÔÚWindowsµÄÄÚºËģʽ£¨Kernel
Mode£©Ï£¬×÷ΪÇý¶¯³ÌÐò¶ø´æÔÚ¡£ËüÊÇWindows 2003µÄTCP/IPÍøÂç×ÓϵͳµÄÒ»²¿·Ö£¬´Ó½á¹¹ÉÏ£¬ËüÊôÓÚTCPÖ®ÉϵÄÒ»¸öÍøÂçÇý¶¯³ÌÐò¡£ÑϸñµØËµ£¬HTTP.SYSÒѾ²»ÊôÓÚIISµÄ·¶³ëÁË£¬ËùÒÔHTTP.SYSµÄÅäÖÃÐÅÏ¢²¢²»±£´æÔÚIISµÄÔªÊý¾Ý¿â£¨Metabase£©£¬¶øÊǶ¨ÒåÔÚ×¢²á±íÖС£HTTP.SYSµÄ×¢²á±íÏîλÓÚÏÂÃæµÄ·¾¶ÖУºHKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP¡£HTTP.SYSÄܹ»´øÀ´Èçϵĺô¦£º
³ÖÐø¼àÌý£ºÓÉÓÚHTTP.SYSÊÇÒ»¸öÍøÂçÇý¶¯³ÌÐò£¬Ê¼ÖÕ´¦ÓÚÔËÐÐ״̬£¬¶ÔÓÚÓû§µÄHTTPÇëÇó£¬Äܹ»¼°Ê±×÷³ö·´Ó¦£»
¸üºÃµÄÎȶ¨ÐÔ£ºHTTP.SYSÔËÐÐÔÚ²Ù×÷ϵͳÄÚºËģʽÏ£¬²¢²»Ö´ÐÐÈκÎÓû§´úÂ룬ËùÒÔÆä±¾Éí²»»áÊܵ½WebÓ¦Óᢹ¤×÷½ø³ÌºÍIIS½ø³ÌµÄÓ°Ï죻
ÄÚºËģʽÏÂÊý¾Ý»º´æ£ºÈç¹ûij¸ö×ÊÔ´±»Æµ·±ÇëÇó£¬HTTP.SYS»á°ÑÏìÓ¦µÄÄÚÈݽøÐÐÄÚºËģʽµÄ»º´æ(²»´æÔÚÄÚºËģʽºÍÓû§Ä£Ê½µÄÇл»£¬ÏìÓ¦ËٶȽ«µÃµ½¼«´óµÄ¸Ä½ø)£¬»º´æµÄÄÚÈÝ¿ÉÒÔÖ±½ÓÏìÓ¦ºóÐøµÄÇëÇó¡£
ͼ2ÌåÏÖÁËIISµÄ½á¹¹ºÍ´¦ÀíHTTPÇëÇóµÄÁ÷³Ì¡£´ÓÖпÉÒÔ¿´³ö£¬ÓëIIS
5.x²»Í¬£¬W3SVC´ÓInetInfo.exe½ø³ÌÍÑÀë³öÀ´£¨¶ÔÓÚIIS6.0À´Ëµ£¬InetInfo.exe»ù±¾ÉÏ¿ÉÒÔ¿´×÷µ¥´¿µÄIIS¹ÜÀí½ø³Ì£©£¬ÔËÐÐÔÚÁíÒ»¸ö½ø³ÌSvcHost.exeÖС£²»¹ýW3SVCµÄ»ù±¾¹¦Äܲ¢Ã»Óз¢Éú±ä»¯£¬Ö»ÊÇÔÚ¹¦ÄܵÄʵÏÖÉÏ×÷ÁËÏàÓ¦µÄ¸Ä½ø¡£ÓëIIS
5.xÒ»Ñù£¬ÔªÊý¾Ý¿â£¨Metabase£©ÒÀÈ»´æÔÚÓÚInetInfo.exe½ø³ÌÖС£
µ±HTTP.SYS¼àÌýµ½Óû§µÄHTTPÇëÇóºó£¬½«Æä·Ö·¢¸øW3SVC¡£W3SVC½âÎö³öÇëÇóµÄURL£¬²¢¸ù¾Ý´ÓMetabase»ñÈ¡µÄURLÓëWebÓ¦ÓÃÖ®¼äµÄÓ³Éä¹ØÏµµÃµ½Ä¿±êÓ¦Ó㬲¢½øÒ»²½µÃµ½Ä¿±êÓ¦ÓÃÔËÐеÄÓ¦ÓóÌÐò³Ø»òÕß¹¤×÷½ø³Ì¡£Èç¹û¹¤×÷½ø³Ì²»´æÔÚ£¨ÉÐδ´´½¨»òÕß±»»ØÊÕ£©£¬ÔòΪ¸ÃÇëÇó´´½¨ÐµĹ¤×÷½ø³Ì£¬¹¤×÷½ø³ÌµÄÕâÖÖ´´½¨·½Ê½±»³ÆÎªÇëÇóʽ´´½¨¡£ÔÚ¹¤×÷½ø³ÌµÄ³õʼ»¯¹ý³ÌÖУ¬ÏàÓ¦µÄISAPI.dll±»¼ÓÔØ£¬¶ÔÓÚASP.NETÓ¦ÓÃÀ´Ëµ£¬±»¼ÓÔØµÄISAPI.dllΪAspnet_ispai.dll¡£ASP.NET
ISAPIÔÙ¸ºÔð½øÐÐCLRµÄ¼ÓÔØ¡¢AppDomain´´½¨¡¢Web ApplicationµÄ³õʼ»¯µÈ¡£
In IIS 6.0, W3SVC the following main
areas in IIS:
HTTP¹ÜÀíºÍÅäÖ㨴ÓIISÔªÊý¾Ý¶ÁÈ¡ÅäÖÃÐÅÏ¢²¢ÅäÖÃÐÒéÕ»HTTP.sys£¬£©
½ø³Ì¹ÜÀí£¨¹ÜÀíÓ¦ÓóÌÐò³ØºÍ¹¤×÷½ø³Ì£¬Æô¶¯¡¢Í£Ö¹¡¢»ØÊÕ£¬¹¤×÷½ø³Ì½¡¿µ×´Ì¬¼àÊÓ£¬Ê§°Ü¼ì²â£©
½ø³Ì¼à¿Ø
IIS 7.0ÓëASP.NET
ȨÍþ²Î¿¼£ºhttp://www.iis.net/learn/get-started/introduction-to-iis/introduction-to-iis-architecture
IIS 7.0¶ÔÇëÇóµÄ¼àÌýºÍ·Ö·¢»úÖÆÉÏÓÖ½øÐÐÁ˸ïÐÂÐԵĸĽø£¬Ö÷ÒªÌåÏÖÔÚ¶ÔÓÚWindows½ø³Ì¼¤»î·þÎñ£¨Windows
Process Activation Service£¬WAS£©µÄÒýÈ룬½«ÔÀ´£¨IIS 6.0£©W3SVC³ÐÔØµÄ²¿·Ö¹¦ÄÜ·ÖÁ÷¸øÁËWAS¡£¶ÔÓÚIIS
6.0À´Ëµ£¬W3SVCÖ÷Òª³ÐÔØ×ÅÈý´ó¹¦ÄÜ£º
HTTPÇëÇó½ÓÊÕ£º½ÓÊÕHTTP.SYS¼àÌýµ½µÄHTTPÇëÇó£»
ÅäÖùÜÀí£º´ÓÔªÊý¾Ý¿â£¨Metabase£©ÖмÓÔØÅäÖÃÐÅÏ¢¶ÔÏà¹Ø×é¼þ½øÐÐÅäÖã»
½ø³Ì¹ÜÀí£º´´½¨¡¢»ØÊÕ¡¢¼à¿Ø¹¤×÷½ø³Ì¡£
In IIS, the WWW service no longer manages worker processes.
Instead, the WWW Service is the listener adapter for
the HTTP listener, HTTP.sys. As the listener adapter,
the WWW Service is primarily responsible for configuring
HTTP.sys, updating HTTP.sys when configuration changes,
and notifying WAS when a request enters the request
queue.
Additionally, the WWW Service continues
to collect the counters for Web sites. Because performance
counters remain part of the WWW Service, they are HTTP
specific and do not apply to WAS.
ÔÚIIS 7.0£¬ºóÁ½×鹦Äܱ»ÒÆÈëWASÖУ¬½ÓÊÕHTTPÇëÇóµÄÈÎÎñÒÀÈ»ÂäÔÚW3SVCÍ·ÉÏ¡£
WASµÄÒýÈëΪIIS 7.0Ò»ÏîǰËùδÓеÄÌØÐÔ£ºÍ¬Ê±´¦ÀíHTTPºÍ·ÇHTTPÇëÇó¡£ÔÚWASÖУ¬Í¨¹ýÒ»¸öÖØÒªµÄ½Ó¿Ú£º¼àÌýÆ÷ÊÊÅäÆ÷½Ó¿Ú£¨Listener
Adapter Interface£©³éÏó³ö²»Í¬ÐÒé¼àÌýÆ÷¼àÌýµ½µÄÇëÇó¡£ÖÁÓÚIISϵļàÌýÆ÷£¬³ýÁË»ùÓÚÍøÂçÇý¶¯µÄHTTP.SYSÌṩHTTPÇëÇó¼àÌý¹¦ÄÜÍ⣬WCFÌṩÁË3ÖÖÀàÐ͵ļàÌýÆ÷£ºTCP¼àÌýÆ÷¡¢ÃüÃû¹ÜµÀ£¨Named
Pipes£©¼àÌýÆ÷ºÍMSMQ¼àÌýÆ÷¡£¶ÔÓ¦3ÖÖ¼àÌýÊÊÅäÆ÷£¨Adapter£©Ìṩ¼àÌýÆ÷Óë¼àÌýÆ÷ÊÊÅäÆ÷½Ó¿ÚÖ®¼äµÄÊÊÅä¡£´ÓÕâ¸öÒâÒåÉϽ²£¬IIS
7.0ÖеÄW3SVC¸ü¶àµØÎªHTTP.SYSÆð׿àÌýÊÊÅäÆ÷µÄ¹¦ÄÜ¡£WCFÌṩµÄÕâ3ÖÖ¼àÌýÆ÷ºÍ¼àÌýÊÊÅäÆ÷¶¨ÒåÔÚ³ÌÐò¼¯SMSvcHost.exeÖУ¬Äã¿ÉÒÔͨ¹ýÏÂÃæµÄĿ¼ÕÒµ½¸Ã³ÌÐò¼¯£º%windir%\Microsoft.NET\Framework\v3.0\Windows
Communication Foundatio¡£
WCFÌṩµÄÕâ3ÖÖ¼àÌýÆ÷ºÍ¼àÌýÊÊÅäÆ÷×îÖÕÒÔWindows ServiceµÄÐÎʽÌåÏÖ£¬ËäÈ»ËüÃǶ¨ÒåÔÚÒ»¸ö³ÌÐò¼¯ÖУ¬ÎÒÃÇÒÀȻͨ¹ý·þÎñ¹¤×÷¹ÜÀíÆ÷£¨SCM£¬Service
Control Manager£©¶ÔÆä½øÐе¥¶ÀµÄÆô¶¯¡¢ÖÕÖ¹ºÍÅäÖá£SMSvcHost.exeÌṩÁË4¸öÖØÒªµÄWindows
Service£º
NetTcpPortSharing£ºÎªWCFÌṩTCP¶Ë¿Ú¹²Ïí£»
NetTcpActivator£ºÎªWASÌṩ»ùÓÚTCPµÄ¼¤»îÇëÇ󣬰üº¬TCP¼àÌýÆ÷ºÍ¶ÔÓ¦µÄ¼àÌýÊÊÅäÆ÷£»
NetPipeActivator£ºÎªWASÌṩ»ùÓÚÃüÃû¹ÜµÀµÄ¼¤»îÇëÇ󣬰üº¬ÃüÃû¹ÜµÀ¼àÌýÆ÷ºÍ¶ÔÓ¦µÄ¼àÌýÊÊÅäÆ÷£»
NetMsmqActivator£ºÎªWASÌṩ»ùÓÚMSMQµÄ¼¤»îÇëÇ󣬰üº¬MSMQ¼àÌýÆ÷ºÍ¶ÔÓ¦µÄ¼àÌýÊÊÅäÆ÷¡£
ASP.NET¼¯³É
´ÓÉÏÃæ¶ÔIIS 5.xºÍIIS 6.0µÄ½éÉÜÖУ¬ÎÒÃDz»ÄÑ·¢ÏÖÕâÒ»µã£¬IISÓëASP.NETÊÇÁ½¸öÏ໥¶ÀÁ¢µÄ¹ÜµÀ£¨Pipeline£©£¬ÔÚ¸÷×Ô¹ÜϽ·¶Î§ÄÚ£¬ËüÃǸ÷×Ô¾ßÓÐ×Ô¼ºµÄÒ»Ì×»úÖÆ¶ÔHTTPÇëÇó½øÐд¦Àí¡£Á½¸ö¹ÜµÀͨ¹ýISAPIʵÏÖ¡°ÁªÍ¨¡±£ºIISÊǵÚÒ»µÀÆÁÕÏ£¬µ±¶ÔHTTPÇëÇó½øÐбØÒªµÄǰÆÚ´¦Àí£¨±ÈÈçÉí·ÝÑéÖ¤µÈ£©ºó£¬Í¨¹ýISAPI½«ÇëÇó·Ö·¢¸øASP.NET¹ÜµÀ¡£µ±ASP.NETÔÚ×ÔÉí¹ÜµÀ·¶Î§ÄÚÍê³É¶ÔHTTPÇëÇóµÄ´¦Àíºó£¬´¦ÀíºóµÄ½á¹ûÔÙ·µ»Øµ½IIS£¬IIS¶ÔÆä½øÐкóÆÚ´¦Àí£¨±ÈÈçÈÕÖ¾¼Ç¼¡¢Ñ¹ËõµÈ£©£¬×îÖÕÉú³ÉHTTPÏìÓ¦£¨HTTP
Response£©¡£´ÓÁíÒ»¸ö½Ç¶È½²£¬IISÔËÐÐÔÚ·ÇÍйܵĻ·¾³ÖУ¬¶øASP.NET¹ÜµÀÔòÊÇÍйܵ쬴ÓÕâ¸öÒâÒåÉϽ²£¬ISAPI»¹ÊÇÁ¬½Ó·ÇÍйܻ·¾³ºÍÍйܻ·¾³µÄŦ´ø¡£ÏÂͼ·´Ó³ÁËIIS
6.0ÓëASP.NETÖ®¼äµÄÇŽӹØÏµ¡£

IIS 5.xºÍIIS 6.0ϰÑÁ½¸ö¹ÜµÀ½øÐиôÀëÖÁÉÙ´øÀ´ÁËÏÂÃæÒ»Ð©¾ÖÏÞÓë²»×㣺
Ïàͬ²Ù×÷µÄÖØ¸´Ö´ÐУºIISÓëASP.NETÖ®¼ä¾ßÓÐÒ»Ð©ÖØ¸´µÄ²Ù×÷£¬±ÈÈçÉí·ÝÑéÖ¤£»
¶¯Ì¬ÎļþÓ뾲̬Îļþ´¦ÀíµÄ²»Ò»Ö£ºÒòΪֻÓлùÓÚASP.NETµÄ¶¯Ì¬Îļþ£¨±ÈÈç.aspx¡¢.asmx¡¢.svcµÈµÈ£©µÄHTTPÇëÇó²ÅÄÜͨ¹ýASP.NET
ISAPI½øÈëASP.NET¹ÜµÀ£¬¶ø¶ÔÓÚһЩ¾²Ì¬Îļþ£¨±ÈÈç.html¡¢.xml¡¢.imgµÈ£©µÄÇëÇó£¬ÔòÓÉIISÖ±½ÓÏìÓ¦£¬ÄÇôASP.NET¹ÜµÀÖеÄһЩ¹¦Äܽ«²»ÄÜÓÃÓÚÕâЩ»ùÓÚ¾²Ì¬ÎļþµÄÇëÇ󣬱ÈÈ磬ÎÒÃÇÏ£Íûͨ¹ýFormsÈÏÖ¤Ó¦ÓÃÓÚ»ùÓÚͼƬÎļþµÄÇëÇó£»
IISÄÑÒÔÀ©Õ¹£º¶ÔÓÚIISµÄÀ©Õ¹»ù±¾ÉϾÍÌåÏÖÔÚ×Ô¶¨ÒåISAPI£¬µ«ÊǶÔÓڴ󲿷ÖÈËÀ´Ëµ£¬Õâ²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇé¡£ÒòΪISAPIÊÇ»ùÓÚWin32µÄ·ÇÍйܵÄAPI£¬²¢·ÇÒ»ÖÖÃæÏòÓ¦Óõıà³Ì½Ó¿Ú¡£Í¨³£ÎÒÃÇÏ£ÍûµÄÊÇÖîÈ綨ÒåASP.NETµÄHttpModuleºÍHttpHandlerÒ»Ñù£¬Í¨¹ýÍйܴúÂëµÄ·½Ê½À´À©Õ¹IIS¡£
¶ÔÓÚWindowsƽ̨ϵÄIISÀ´½²£¬ASP.NETÎÞÒÉÊÇÒ»µÈ¹«Ãñ£¬ËüÃÇÖ®¼ä²»Ó¦¸ÃÊÇ¡°¾®Ë®²»·¸ºÓË®¡±µÄ¹ØÏµ£¬¶øÓ¦¸ÃÊÇ¡°ÄãÖÐÓÐÎÒ£¬ÎÒÖÐÓÐÄ㡱µÄ¹ØÏµ¡£Îª´Ë£¬ÔÚIIS
7.0ÖУ¬ÊµÏÖÁËÁ½Õߵɡ£¶ÔÓÚ¼¯³ÉģʽϵÄIIS 7.0£¬ÎÒÃÇ»ñµÃÈçϵĺô¦¡£
ÔÊÐíÎÒÃÇͨ¹ý±¾µØ´úÂ루Native Code£©ºÍÍйܴúÂ루Managed
Code£©Á½ÖÖ·½Ê½¶¨ÒåIIS Module£¬ÕâЩIIS Module×¢²áµ½IISÖÐÐγÉÒ»¸öͨÓõÄÇëÇó´¦Àí¹ÜµÀ¡£ÓÉÕâЩIIS
Module×é³ÉµÄÕâ¸ö¹ÜµÀÄܹ»´¦ÀíËùÓеÄÇëÇ󣬲»ÂÛÇëÇó»ùÓÚÔõÑùµÄ×ÊÔ´ÀàÐÍ¡£±ÈÈ磬¿ÉÒÔ½«FormsAuthenticationModuleÌṩµÄFormsÈÏÖ¤Ó¦Óõ½»ùÓÚ.aspx£¬CGIºÍ¾²Ì¬ÎļþµÄÇëÇó¡£
½«ASP.NETÌṩµÄһЩǿ´óµÄ¹¦ÄÜÓ¦Óõ½ÔÀ´ÄÑÒÔÆó¼°µÄµØ·½£¬±ÈÈ罫ASP.NETµÄURLÖØÐ´¹¦ÄÜÖÃÓÚÉí·ÝÑé֤֮ǰ£»
²ÉÓÃÏàͬµÄ·½Ê½È¥ÊµÏÖ¡¢ÅäÖᢼì²âºÍÖ§³ÖһЩ·þÎñÆ÷ÌØÐÔ£¨Feature£©£¬±ÈÈçModule¡¢HandlerÓ³Éä¡¢´íÎó¶¨ÖÆÅäÖã¨Custom
Error Configuration£©µÈ¡£
ÔÚASP.NET¼¯³ÉģʽÏ£¬IISÕû¸öÇëÇó´¦Àí¹ÜµÀµÄ½á¹¹¡£ASP.NETÌṩµÄÍйÜ×é¼þ¿ÉÒÔÖ±½ÓÓ¦ÓÃÔÚIIS¹ÜµÀÖС£
|