WCF Hosting
In this part of the tutorial we are going to see the four different way of hosting the WCF service. WCF service cannot exist on its own; it has to be hosted in windows process called as host process. Single host process can host multiple servers and same service type can be hosted in multiple host process. As we discussed there are mainly four different way of hosting the WCF service.
Multiple hosting and protocols supported by WCF.Microsoft has introduced the WCF concept in order to make distributed application development and deployment simple.
Hosting Environment |
Supported protocol |
Windows console and form application |
HTTP,net.tcp,net.pipe,net.msmq |
Windows service application (formerly known as NT services) |
HTTP,net.tcp,net.pipe,net.msmq |
Web server IIS6 |
http, wshttp |
Web server IIS7 - Windows Process Activation Service (WAS) |
HTTP,net.tcp,net.pipe,net.msmq |
A summary of hosting options and supported features.
Feature |
Self-Hosting |
IIS Hosting |
WAS Hosting |
Executable Process/ App Domain |
Yes |
Yes |
Yes |
Configuration |
App.config |
Web.config |
Web.config |
Activation |
Manual at startup |
Message-based |
Message-based |
Idle-Time Management |
No |
Yes |
Yes |
Health Monitoring |
No |
Yes |
Yes |
Process Recycling |
No |
Yes |
Yes |
Management Tools |
No |
Yes |
Yes |
Tips!
- Always create the service with Interface->Implementation format, mention the contract in Interface.
- Define the service in Class library and refer the class library in Host project. Don’t use service class in host project.
- Change the instance mode to per call as default.
- Always catch exception using try/catch block and throw exception using FaultException < T >.
- Logging and Include exception should be enable while compiling the project in debug mode. While in production deployment disable the logging and Include exception details.
|