A WCF service is a program and can run as a stand-alone executable (like Console and Windows Forms applications) . This scenario is known as a self-hosted service. Moreover, WCF services can also be hosted in external agents, such as IIS or Windows Activation Service (WAS ), implemented as a Windows service in Windows Vista.
Alternatively, a service can also be run automatically as a Windows service. Finally, COM+ components can also be hosted as WCF services.
For more info about WCF architecture go to this link : http://msdn2.microsoft.com/en-us/library/ms733128.aspx
Above all, the WAS hosting is the real new feature because it provides a concept that extends the ASP.NET HTTP hosting concept (ASMX Web Services). As a standalone Windows component, WAS it’s completely separated from the IIS hosting environment and provides a protocol-agnostic activation mechanism, so you aren’t limited only to HTTP.
WAS allows you to choose the most appropriate protocol for your needs:
- for the HTTP protocol, data transfer relies on the ASP.NET HTTP
- for non-HTTP protocols such as TCP and Named Pipes, WAS leverages the extensibility points of ASP.NET for transferring data.
These capabilities are implemented in the form of protocol handlers which manage communication between the worker process and the Windows service . There are two types of protocol handlers loaded when the WAS activates a worker process instance: Process Protocol Handler (PPH) and App Domain Protocol Handler (ADPH).
If you are interested in practice hosting WCF services, you can find a great tutorial in this article: Hosting WCF Services in Windows Activation Service.