. Vor der Einführung von WCF , Web Services entwickelt Net musste innerhalb von Internet Information Server (IIS) gehostet werden. In . Net 3.0 , erhöht die Hosting-Optionen für . Net Web Services erheblich. WCF enthält eine Klasse namens ServiceHost , die Dienstleistungen innerhalb einer Anwendung gehostet leicht ermöglicht. ServiceHost abstrahiert viele der technischen Komplexität weg , so dass Entwickler können sich auf der Service-Logik statt der Sanitär in Hosting-Dienste beteiligt konzentrieren. Hosting einen Service außerhalb der IIS erfordert die WCF-Laufzeit und einem verwalteten . NET-Anwendung , die als Host fungieren. Es ist der Verantwortung des Entwicklers , um den Code, startet und stoppt den Host schreiben. Anleitung 
 1 
 Wählen Sie "Neu " und dann " Projekt" im Datei-Menü . Das Dialogfeld Neues Projekt wird angezeigt. 
 2 
 Select Visual C # Windows- dann in der Projekt-Template -Liste auf dem Dialogfeld Neues Projekt . 
 3 
 Select Console Application aus der Liste der Windows-Projekt -Typen. Geben Sie einen Namen für das Projekt im Feld Name . Der Name des Projekts sollte etwas im Zusammenhang mit selbst präsentiert ein Web-Service , wenn möglich. 
 4 
 Tippen Sie einen Ort in der Lage Box auf dem Dialogfeld Neues Projekt . Alternativ klicken Sie auf " Durchsuchen", um zu dem Ort, wo das Projekt gespeichert werden navigieren. Klicken Sie auf " OK". Visual Studio erstellt eine neue Konsole-Anwendung . 
 5 
 rechten Maustaste auf SelfHost -Explorer aus. Wählen Sie dann auf Verweis hinzufügen. Finde System.ServiceModel in der Registerkarte. NET und klicken Sie auf " OK". Dies wird einen Verweis auf die Assembly, die erforderlich System.ServiceModel zu entwickeln oder WCF-Dienste hosten wird hinzuzufügen. 
 6 
 Doppelklicken Sie auf die Datei, die Klasse hinzugefügt, wenn das Projekt erstellt wurde. In den meisten Fällen wird es benannt Program.cs werden. Der Code für die Klasse wird angezeigt. 
 7 
 auf den Namen des Projekts mit der rechten Maustaste und wählen Sie "Neue Klasse ". Benennen Sie die Klasse " HelloWorld " und geben Sie den folgenden Code: 
 
 mit System.ServiceModel ; 
 
 mit System.ServiceModel.Description ; 
 
 [ ServiceContract ] 
 < p > public interface IHelloWorld 
 
 { 
 
 [ OperationContract ] 
 
 String SayHello (string name); } 
 
 
 
 public class HelloWorld : IHelloWorld 
 
 { 
 
 public string SayHello (string name ) { 
 
 
 
 Rückkehr string.Format ("Hallo , {0}" , name); 
 
 } } 
 
 
 
 Dieser Code ist die Implementierung einer Probe " HelloWorld " Web-Service, eine Operation , hat " SayHello . " 
 8 < p> an der Klasse, die automatisch aufgenommen , wenn das Projekt erstellt wurde doppelklicken. In den meisten Fällen wird die Klasse mit dem Namen Program.cs werden 
 9 
 Geben Sie den folgenden Code am Anfang der Klasse : 
 
 mit System.ServiceModel ; 
 < p . > mit System.ServiceModel.Description ; 
 10 
 Geben Sie folgenden Code in die Main-Methode der Klasse : 
 
 //definiert die Basisadresse für den Dienst auf dem lokalen Computer 
 
 Uri baseAddress = new Uri ( " http://localhost:8080/hello "); 
 
 //erstellen des Service Host 
 
 mit ( ServiceHost host = neue ServiceHost . (typeof ( HelloWorld ) , baseAddress ) ) { 
 
 
 
 //Aktivieren Metadatenveröffentlichung 
 
 ServiceMetadataBehavior smb = new ServiceMetadataBehavior (); . 
 
 smb. HttpGetEnabled = true; 
 
 smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ; 
 
 host.Description.Behaviors.Add ( smb ); 
 
 //Öffnen Sie die ServiceHost zu starten hören für Nachrichten 
 
 host.Open (); . 
 
 Console.WriteLine (" Der Service läuft und kann Anfrage erhalten {0}" , baseAddress ); 
 
 Console . WriteLine ( " Drücken Sie die Eingabetaste , um den Dienst zu beenden. "); 
 
 Console.ReadLine (); 
 
 //Schließen Sie die ServiceHost 
 
 host.Close . (); } 
 
 
 
 Dieser Code startet den Dienst Host und erstellt eine Instanz des Dienstes. Der Dienst kann von einem Client aufgerufen werden, bis die Konsole -Anwendung geschlossen wird .