IIS 5 to 8


Http Processing logic :

Http Request detected :
with in InetInfo.exe (W3SVC service ) :
[if static resource] :
[if dymamic resource]
load aspnet_isapi.dll

[if not started aspnet.exe]
start aspnet.exe
init CLR
create app domain
load HTTP Runtime

pass to asp.net pipeline

Problem :all application share one process : aspnet_wp.exe , but different domain.



  • Load ISAPI dll into ASP.net process (instead of InetInfo.exe);
  • Introduce Application pool;
  • Create HTTP.SYS HTTP listener which running under windows kernel mode. HTTP.SYS is part of windows 2003 TCP/IP network driver programs.

what HTTP.SYS brings

  • continue listening . as a network driver program, will continue listen HTTP and more responsive .
  • stability: running under Windows kernel mode , saperate from other process.
  • cache .HTTP.SYS will cache the most frequence request content .

HTTP Process Logic

HTTP Request detected :
within HTTP.SYS :
routed to W3svc
load Metabase (from InetInfo.exe)
forward to application pool
If not exist:
Create new Application pool.

Load ISAPI dll
Init CLR
Create App Domain
Pass to ASP.net process Pipeline.



  • Introduce WAS .
  • load configuration from Metabase .
  • Create ,Recycle, monitor worker process .
  • Listen Non-HTTP via listner Adapter Interface (TCP, NamedPipe, MSMQ).

Http Process Logic

HTTPRequest (from W3SVC, from WCF Listener Adapter) came :
within WAS :
If Application pool: not created :
Create Application pool

Dispatch to worker process
Load ISAPI dll
Init CLR
Create App Domain
Pass to ASP.net process Pipeline.



  • CPU Throttling
  • Trottle : keep CPU at a specified level .
  • Trottle under load :allow site to use all possible CPU where available .

  • SSL Scalability

  • Certificate Lazy loading . only load when the certificate is needed, and auto auto unload if reached idle period.

  • SNI
    Server name indication . allows many SSL sites share the same IP.

  • SSL Manageability
    Introduce CCS.Central Certificate Store . manage certificates in one machine (instead of every machine).

  • Dyanamic IP Restrictions/FTP Logon Restriction

  • Application initialization module
    Allows do initialize job before a HTTP request come .

  • Web Socket.

Author: lanliang


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s