Frage

Als ich zur Zeit des Lernen WCF Service zu verwenden, ich Begegnung ständig Tutorials im Internet, der ein ServiceHost erwähnen zu verwenden, wenn ein WCF-Dienst verwenden.

Was genau ist dieses ServiceHost?


In meinem aktuellen Projekt, das ich einen WCF-Dienst verwenden und einen Verweis auf mich aus meiner app mit und wenn ich es von meiner App konsumieren mag ich instanziiert nur seine ServiceClient wie so:

new MusicRepo_DBAccess_ServiceClient(new InstanceContext(instanceContext), customBinding, endpointAddress);

Und dann meine Web-Methoden zugreifen (OperationContracts) aus diesem Beispiel (natürlich öffnen, bevor das Verfahren aufwendig und es danach mit Open und Close Schließen)

Mein WCF-Dienst ist Gastgeber in meinem IIS und ich Zugriff nur die .svc von meiner App den ServiceClient zu instanziiert.

Also, warum und wo ServiceHost verwendet?

War es hilfreich?

Lösung

Ein Servicehost bietet Ihnen im Grunde alles, was Sie benötigen einen WCF-Dienst in einem nicht-IIS hosten oder einstellt. Ein gemeinsamer Ort für einen Servicehost würde in einer Konsolenanwendung oder Windows-Dienst sein. Siehe Beispiel-Code von MSDN für wie einen Servicehost zur Einrichtung in einem Konsolenanwendung .

Andere Tipps

Ihre Service-Implementierung ist nur eine .NET-Klasse - Sie benötigen eine Laufzeitumgebung für sie haben, so kann es irgendwie ausgeführt werden. Das ist, was die Servicehost ist für -. Es wird Ihre Serviceklasse laden, die Endpunkte und Kanal Hörer einzurichten und all das Zeug, und damit Ihre Service-Klasse ein „Ökosystem“ geben, zu leben und arbeiten in

Sie können entweder eine Servicehost-Klasse instanziiert sich in einer Konsolenanwendung, Windows-Dienst, oder sogar eine WinForms-Anwendung und damit Ihre WCF-Service-Klasse an die Außenwelt zur Verfügung stellen - oder Sie können diese Arbeit zu IIS oder WAS delegieren. Auch IIS oder WAS wird einen Servicehost verwendet Ihren WCF-Dienst zu hosten - sie tun es einfach automatisch hinter den Kulissen, und „on demand“ -., Wenn eine Anfrage für Ihren WCF-Dienst kommt in

Marc

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top