Windows Process Activation Service的Non-HTTP Activation RRS feed


  • 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.


    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.


    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


    • 已标记为答案 microcloud 2010年7月3日 18:23
    2010年7月3日 18:23