Hosten in een beheerde toepassing
WCF-services (Windows Communication Foundation) kunnen worden gehost in elke .NET Framework-toepassing. Selfhostingservices is de meest flexibele hostingoptie, omdat hiervoor de minste infrastructuur is vereist om te implementeren. Het is echter ook de minst robuuste hostingoptie, omdat beheerde toepassingen niet de geavanceerde hosting- en beheerfuncties van andere hostingopties in WCF bieden, zoals IIS (Internet Information Services) en Windows-services.
Als u een zelf-hostende service wilt maken, maakt en opent u een exemplaar van de ServiceHostservice, waarmee een service wordt gestart die luistert naar berichten. Zie Procedures voor meer informatie: Een WCF-service hosten in een beheerde toepassing.
Zie de zelfstudie Aan de slag en de self-host voor een volledig voorbeeld van het definiƫren van een contract, het implementeren van het contract en het hosten van een service in een beheerde toepassing.
In de volgende secties worden veelvoorkomende scenario's beschreven die gebruikmaken van deze hostingoptie.
Consoletoepassingen
Veelvoorkomende scenario's die zelfhosting mogelijk maken, zijn WCF-services die worden uitgevoerd in consoletoepassingen. Het hosten van een WCF-service in een consoletoepassing is doorgaans nuttig tijdens de ontwikkelingsfase van de service. Hierdoor kunnen ze eenvoudig fouten opsporen, gemakkelijk traceringsinformatie ophalen om erachter te komen wat er in de toepassing gebeurt en eenvoudig te navigeren door ze naar nieuwe locaties te kopiƫren.
Uitgebreide clienttoepassingen
Andere veelvoorkomende scenario's die zelfhosting mogelijk maken, zijn uitgebreide clienttoepassingen, zoals toepassingen die zijn gebaseerd op Windows Presentation Foundation (WPF) of Windows Forms (WinForms). Deze hostingoptie maakt het ook eenvoudig voor uitgebreide clienttoepassingen, zoals WPF- en WinForms-toepassingen, om met de buitenwereld te communiceren. Een peer-to-peer-samenwerkingsclient die WPF gebruikt voor de gebruikersinterface en host ook een WCF-service waarmee andere clients verbinding kunnen maken en informatie kunnen delen.