WCF allows services to be hosted in various ways including self-hosting in a managed application, hosting in a Windows service, or hosting in IIS. The hosting environment determines how services are activated and configured. Services expose endpoints that clients can communicate with using addresses, bindings, and contracts. Clients access services by creating proxy classes or channels. Behaviors can be used to customize service and client functionality.