. Før innføringen av WCF , web- tjenester utviklet i Net måtte ligge i Internet Information Server ( IIS ) . In. Net 3.0, økt hosting alternativer for . Netto webtjenester betydelig. WCF har en klasse som heter ServiceHost som gjør at tjenester kan vert i et program enkelt. ServiceHost sammendrag mange den teknologiske kompleksiteten bort slik at utviklere kan fokusere på tjenesten logikk i stedet for VVS involvert i hosting-tjenester. Hosting en tjeneste utenfor IIS krever WCF runtime og en administrert . NET -programmet til å fungere som vert. Det er utbyggers ansvar å skrive koden som starter og stopper verten. Instruksjoner
en
Velg " New " og deretter " Project" i Fil-menyen . Nytt prosjekt-dialogruten vises.
2
Select Visual C # deretter Windows i fra prosjektmalen listen på dialogboksen Nytt prosjekt .
3
Select Console Application fra listen over Windows prosjekttyper . Angi et navn for prosjektet i Navn-boksen . Prosjektet Navnet bør være noe relatert til selvbetjent hosting en nettjeneste hvis mulig.
4
Type en plassering i boksen Plassering på Nytt prosjekt-dialogruten . Eventuelt kan du klikke "Browse " for å navigere til stedet der prosjektet vil bli lagret. Klikk "OK". Visual Studio vil skape en ny konsoll applikasjon .
5
Høyreklikk SelfHost i Solution Explorer . Deretter velger du Legg Reference. Finn System.ServiceModel i . NET og klikk " OK . " Dette vil legge en referanse til System.ServiceModel forsamlingen som er nødvendig for å utvikle eller vert WCF tjenester .
6
Dobbeltklikk klassen filen som ble lagt da prosjektet ble opprettet. I de fleste tilfeller vil det bli navngitt Program.cs . Koden for klassen vises.
7
Høyreklikk på prosjektnavnet og velg " Legg til ny klasse . " Navngi klassen " HelloWorld " og skriv inn følgende kode :
hjelp System.ServiceModel ;
hjelp System.ServiceModel.Description ;
[ ServiceContract ]
< p > felles grensesnitt IHelloWorld
{
[ OperationContract ]
streng sayHello ( string navn);
}
public class HelloWorld : IHelloWorld
{
public string sayHello ( string navn)
{
retur string.Format ( "Hello , { 0 }" , navn) ;
}
}
Denne koden er gjennomføringen av en sample " HelloWorld " web -tjeneste som har en operasjon , " sayHello . "
8 < p> Dobbeltklikk på den klassen som ble automatisk lagt da prosjektet ble opprettet. I de fleste tilfeller vil klassen bli navngitt Program.cs
9
Skriv inn følgende kode på toppen av klassen : en
hjelp System.ServiceModel ;
< p . > hjelp System.ServiceModel.Description ;
10
Skriv inn følgende kode i Main metoden av klassen : en
//definerer basen adresse for tjeneste på den lokale maskinen
Uri baseAddress = new Uri ( " http://localhost:8080/hello ");
//Lag Tjenesten Host
bruker ( ServiceHost host = ny ServiceHost . ( typeof ( HelloWorld ) , baseAddress ) )
{
//Aktiver metadata publisering
ServiceMetadataBehavior smb = new ServiceMetadataBehavior (); .
smb . HttpGetEnabled = true;
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ;
host.Description.Behaviors.Add ( smb ) ;
//Åpne ServiceHost å starte lytter etter meldinger
host.Open (); .
Console.WriteLine ( " tjenesten er i gang og kan motta forespørsel { 0 }", baseAddress ) ;
Console . WriteLine ( " Trykk Enter for å stoppe tjenesten . ");
Console.ReadLine ();
//Lukk ServiceHost
host.Close . ();
}
Denne koden starter tjenesten vert og oppretter en forekomst av tjenesten. Tjenesten kan kalles fra en klient til konsollen programmet lukkes.