Understanding IIS 7.0 Architecture : Non-HTTP Request Processing

2/27/2012 9:37:44 AM
In IIS 7.0, WAS supports non-HTTP protocols, enabling you to use IIS to host non-HTTP–based applications and services. The WAS process model generalizes the process model for the HTTP server by removing the dependency on HTTP. Because WAS manages application pool configuration and worker processes in IIS 7.0, the same configuration and process model that is used for HTTP can be used for non-HTTP applications. All IIS process management features, such as on-demand activation, process health monitoring, enterprise-class manageability, and rapid failure protection, are available to non-HTTP–based applications and services in IIS 7.0.

To support services and applications that use protocols other than HTTP and HTTPS, you can use technologies such as Windows Communication Foundation (WCF). The WAS process model enables WCF-based applications and services to use both HTTP and non-HTTP protocols in a hosting environment that supports message-based activation and offers the ability to host a large number of applications on a single machine. Windows Communication Foundation ships with protocol adapters that can leverage the capabilities of the WAS, improving the reliability and resource use of WCF services.

WAS is capable of receiving requests or messages over any protocol, and it supports pluggable activation of arbitrary protocol listeners. Protocol listeners receive protocol-specific requests, send them to IIS for processing, and then return responses to requestors. With WCF, a listener adapter includes the functionality of a protocol listener. Figure 1 shows WAS with listener adapters for non-HTTP protocols.

Non-HTTP protocol support in WAS.

Figure 1. Non-HTTP protocol support in WAS.

Listener adapters are Windows services that receive messages on specific network protocols and communicate with WAS to route incoming requests to the correct worker process. The listener adapter interface is used to communicate activation requests that are received over the supported non-HTTP protocols. There are several non-HTTP listener adapters, as follows:

  • NetTcpActivator for TCP protocol

  • NetPipeActivator for Named Pipes

  • NetMsmqActivator for Message Queuing (also known as MSMQ)

If you do not need HTTP functionality, you can actually run WAS without W3SVC. For example, you can manage a Web service through a WCF listener adapter, such as NetTcpActivator, without running W3SVC if you do not need to listen for HTTP requests in HTTP.sys.

The global IIS configuration store, applicationHost.config, can contain configuration for non-HTTP protocols. For example, a TCP listener adapter, NetTcpActivator, can be configured based on information that WAS reads from configuration store. After NetTcpActivator is configured, it listens for requests that use the TCP protocol. When a listener adapter receives a request, WAS starts a worker process so that the listener adapter can pass the request to it for processing. This architecture is shown in Figure 2.

Non-HTTP processing in IIS 7.0.

Figure 2-. Non-HTTP processing in IIS 7.0.

Because WAS manages processes for both HTTP and non-HTTP protocols, you can run applications with different protocols in the same application pool. For example, you can host an application over both HTTP and TCP protocols.

In addition to being protocol independent, the WAS process model in IIS 7.0 provides all types of message-activated applications with intelligent resource management, on-demand process activation, health-monitoring, and automatic failure detection and recycling. It allows these applications to take advantage of the IIS process model without requiring the deployment footprint of a full IIS installation.

PS4 game trailer XBox One game trailer
WiiU game trailer 3ds game trailer
Top 10 Video Game
-   Minecraft Mods - MAD PACK #10 'NETHER DOOM!' with Vikkstar & Pete (Minecraft Mod - Mad Pack 2)
-   Minecraft Mods - MAD PACK #9 'KING SLIME!' with Vikkstar & Pete (Minecraft Mod - Mad Pack 2)
-   Minecraft Mods - MAD PACK #2 'LAVA LOBBERS!' with Vikkstar & Pete (Minecraft Mod - Mad Pack 2)
-   Minecraft Mods - MAD PACK #3 'OBSIDIAN LONGSWORD!' with Vikkstar & Pete (Minecraft Mod - Mad Pack 2)
-   Total War: Warhammer [PC] Demigryph Trailer
-   Minecraft | MINIONS MOVIE MOD! (Despicable Me, Minions Movie)
-   Minecraft | Crazy Craft 3.0 - Ep 3! "TITANS ATTACK"
-   Minecraft | Crazy Craft 3.0 - Ep 2! "THIEVING FROM THE CRAZIES"
-   Minecraft | MORPH HIDE AND SEEK - Minions Despicable Me Mod
-   Minecraft | Dream Craft - Star Wars Modded Survival Ep 92 "IS JOE DEAD?!"
-   Minecraft | Dream Craft - Star Wars Modded Survival Ep 93 "JEDI STRIKE BACK"
-   Minecraft | Dream Craft - Star Wars Modded Survival Ep 94 "TATOOINE PLANET DESTRUCTION"
-   Minecraft | Dream Craft - Star Wars Modded Survival Ep 95 "TATOOINE CAPTIVES"
-   Hitman [PS4/XOne/PC] Alpha Gameplay Trailer
-   Satellite Reign [PC] Release Date Trailer
Game of War | Kate Upton Commercial