[fusion_text]To be able to consume a WCF service, it needs to be hosted.
There are multiple options to host a WCF service, and all of them comes with various advantages and disadvantages.
Available hosting options are as follows.
Hosting Option | Description | |
1 | Self-Hosting | Hosting using Console Application, Win Forms, WPF Application etc. |
2 | Windows Service | Hosting Using a Windows Service |
3 | IIS – Internet Information Services | Hosting using IIS. By default, supports only HTTP Bindings. Non-HTTP bindings are not supported. |
4 | WAS – Windows Activation Services | Hosting using IIS and WAS supports all bindings including Non-HTTP like TCP, MSMQ etc. |
Advantages | Disadvantages |
· Easy Setup · Easy Debugging · Supports all bindings and protocols · Easy control of lifetime of the service using the ServiceHost class | · Service is available only when service host is running. · Does not support message based activation like in IIS · Generally used only in development and demonstration phase. |
Advantages | Disadvantages |
· Can be configured to start automatically with windows · Supports all bindings and protocols · Can be configured to restart and recover automatically hen failure occurs | · Writing custom code for hosting. · Difficult to debug, as the host process must be attached to debug. |
Advantages | Disadvantages |
· No code required to host the WCF service, the ServiceHost directive in the .svc file is responsible for creating the instance as and when required. · Supports automatic message based activation · Automatic process recycling, helps to restart the service when it is not healthy | · This hosting supports only HTTP bindings, when hosted in IIS 6.
|
Advantages | Disadvantages |
· All the advantages of IIS hosting · Supports all types of bindings | · Need to install WAS separately with WCF Non-HTTP components. |
[/fusion_text]