Freigeben über


Hosting in einer verwalteten Anwendung

Windows Communication Foundation (WCF)-Dienste können in einer beliebigen .NET Framework-Anwendung gehostet werden. Self-Hosting-Dienste sind die flexibelste Hostingoption, da die Bereitstellung der geringsten Infrastruktur erforderlich ist. Es ist jedoch auch die am wenigsten robuste Hostingoption, da verwaltete Anwendungen nicht die erweiterten Hosting- und Verwaltungsfunktionen anderer Hostingoptionen in WCF bereitstellen, z. B. Internetinformationsdienste (INTERNET Information Services, IIS) und Windows-Dienste.

Um einen selbst gehosteten Dienst zu erstellen, erstellen und öffnen Sie eine Instanz des ServiceHost, die einen Dienst startet, der auf Nachrichten lauscht. Weitere Informationen finden Sie unter How to: Host a WCF Service in a Managed Application.

Ein vollständiges Beispiel zum Definieren eines Vertrags, zum Implementieren des Vertrags und zum Hosten eines Diensts innerhalb einer verwalteten Anwendung finden Sie im Lernprogramm "Erste Schritte" und " Self-Host".

In den folgenden Abschnitten werden allgemeine Szenarien beschrieben, in denen diese Hostingoption verwendet wird.

Konsolenanwendungen

Häufige Szenarien, die Self-Hosting ermöglicht, sind WCF-Dienste, die in Konsolenanwendungen ausgeführt werden. Das Hosten eines WCF-Diensts innerhalb einer Konsolenanwendung ist in der Regel während der Entwicklungsphase des Diensts hilfreich. Das erleichtert das Debuggen, das Abrufen von Ablaufverfolgungsinformationen, um herauszufinden, was innerhalb der Anwendung geschieht, und das Verschieben, indem man sie an neue Speicherorte kopiert.

Rich Client-Anwendungen

Andere gängige Szenarien, die self-hosting ermöglichen, sind Rich-Client-Anwendungen, z. B. solche, die auf Windows Presentation Foundation (WPF) oder Windows Forms (WinForms) basieren. Diese Hostingoption erleichtert auch die Kommunikation von Rich-Client-Anwendungen wie WPF- und WinForms-Anwendungen mit der Außenwelt. Beispielsweise ein Peer-to-Peer-Zusammenarbeitsclient, der WPF für die Benutzeroberfläche verwendet und auch einen WCF-Dienst hostt, der es anderen Clients ermöglicht, eine Verbindung mit ihm herzustellen und Informationen freizugeben.

Siehe auch