Apprenda supports the hosting of WCF services as both standalone, self-hosted components, and as part of an ASP.NET Web site in IIS (using the traditional .SVC file).
While either approach will work, there are some advantages to letting Apprenda host the WCF services as individual components:
- You get more granular control of your services. Services can scale independently of each other, and can receive different resource allocations.
- You'll likely get better performance. For all internal WCF traffic, Apprenda uses the net.tcp binary protocol for communication. In a self-hosted scenario, this provides a substantial speed increase over http. While it is possible to use net.tcp with IIS-hosted services, all communication will hit the WAS (Windows Process Activation Service) first, then get directed to IIS, creating an extra hop on both sides of the call.
- You get better resiliency, including automatic movement to a new machine in the case of OS or machine failure. If an Apprenda hosted WCF service goes down, the Apprenda platform will restart the service on a new machine and end users will never see an error.
If you want to deploy WCF services hosted by Apprenda, you'll need to package each WCF service as a separate Visual Studio project and follow the instructions described here.