Hosten in einer verwalteten Anwendung
WCF-Dienste (Windows Communication Foundation) können in jeder .NET Framework-Anwendung gehostet werden. Die Selbsthosting-Option ist die flexibelste Option, da sie für die Bereitstellung die geringsten Anforderungen an die Infrastruktur stellt. Sie ist jedoch auch die am wenigsten robuste Hostingoption, weil verwaltete Anwendungen nicht die erweiterten Hosting- und Verwaltungsfunktionen bereitstellen wie die anderen Hostingoptionen in WCF, z. B. Internetinformationsdienste (IIS) und Windows-Dienste.
Zur Erstellung eines selbst gehosteten Diensts erstellen und öffnen Sie eine Instanz von ServiceHost, der die Dienstüberwachung für Nachrichten startet. Weitere Informationen finden Sie unter Vorgehensweise: Hosten eines WCF-Diensts in einer verwalteten Anwendung.
Ein ausführliches Beispiel für die Definition eines Vertrags, die Implementierung des Vertrags und das Hosting eines Dienstes innerhalb einer verwalteten Anwendung finden Sie im Tutorial mit ersten Schritten und unter Selbst gehostete Dienste.
In den folgenden Abschnitten werden allgemeine Szenarien beschrieben, die diese Hostingoption verwenden.
Konsolenanwendungen
Allgemeine, für das Selbsthosting geeignete Szenarien sind WCF-Dienste, die in Konsolenanwendungen ausgeführt werden. Das Hosten eines WCF-Diensts in einer Konsolenanwendung ist in der Regel während der Entwicklungsphase der Anwendung nützlich. Die Anwendung lässt sich dann einfach debuggen. Ablaufverfolgungsinformationen über die Anwendung lassen sich leichter ermitteln, um herauszufinden, was intern in der Anwendung vor sich geht. Zudem lässt sich die Anwendung dann einfacher an andere Speicherorte kopieren.
Rich Client-Anwendungen
Andere für das Selbsthosting geeignete allgemeine Szenarien sind Rich Client-Anwendungen wie jene, die auf Windows Presentation Foundation (WPF) oder Windows Forms (WinForms) basieren. Diese Hostingoption erleichtert es Rich Client-Anwendungen, wie WPF- und WinForms-Anwendungen, mit der Außenwelt zu kommunizieren. Ein Beispiel dafür ist ein Peer-to-Peer-Kollaborationsclient, der WPF als Benutzeroberfläche nutzt und darüber hinaus als Host für einen WCF-Dienst fungiert, der anderen Clients ermöglicht, eine Verbindung mit ihm herzustellen und Daten auszutauschen.