WAS => Windows Activation Service
WAS is a Process Activation Service that comes with Windows Vista and IIS 7. WAS was designed to support non-HTTP protocols with the help of IIS 7 whereas IIS 6 supports only HTTP protocols. If you want to use Non-HTTP Protocols like NetTcpBinding and NetMSMQBinding over IIS , WAS hosting is the only option.
WAS Hosting
The biggest limitation in the WCF architecture before IIS 7 version was no support for non-HTTP protocols over IIS. To enable the usage of a complete list of WCF-Supported protocols including non-HTTP, such as net.tcp, net.pipe, net.msmq - WAS (Windows Activation Service) is the platform to be used. WAS,Worker process or other processes will be triggered only when the request arrives. Unlike SelfHosting ,the host process should always be started up and listening for incoming requests. Once the first request comes in from the client, the listener will call WAS to activate the worker process, then the request will be passed to the application domain handler inside the worker process who handles the request and returns the response to the client. No matter whether the request is a WCF Service request, or ASP.NET Request the Job of the activation process is to enable the worker process to start when a request comes in to the server from the client . This activation process is called message-based activation. Application domain protocol handler starts WCF Service Host inside the application domain.

Figure 1.1 WAS Process
In the above snapshot, you can find that the worker process gets activated which in turn starts the WCF service once the first request comes in from the client. After that, Server will start listening any requests from client to process and response
WAS Hosting Architecture

Figure 1.2 WAS Architecture Diagram
Once WAS is activated, the worker process starts listening any requests (Figure 1.1). As each protocol listener receives the requests, WAS checks the existence of a worker process to service the request. The listener’s job is to pull requests from the application pool queue and forward to the appropriate protocol handler for processing.
- Protocol Listeners - Listeners are responsible for receiving requests. Protocol Listener provided for all the protocols like HTTP,net.tcp,named pipes
- Listener Adapter - Adapters are responsible for bridging the requests between WAS and worker process for a particular protocol.
- Protocol Handlers- Handlers are responsible for handling the channel requests through the service model for a particular protocol.
Please follow the below steps to configure WAS hosting in IIS.
Step 1

Figure 1.3 Windows Features ON or OFF
Make sure that .NET Framework 3.5.1 features HTTP Activation and Non-HTTP Activation are checked. Go to Control Panel -> Programs-> Programs and Features (Win 7 OS)->Turn Windows Features ON or Off.
Step 2 - Make sure, the following TCP services are running (Type Services.msc in the run window).
















Anil KumarPosted Sep 15, 2016, 1:50 AM
So there is no way to use non-HTTP protocols in IIS 6 ?