. Forud for indførelsen af WCF , web services udviklet i Net skulle være vært inden Internet Information Server ( IIS) . I . Net 3.0 steg hosting muligheder for . Net webtjenester betydeligt. WCF indeholder en klasse ved navn ServiceHost der giver tjenester, der skal hostes i et program nemt. ServiceHost abstracts mange den teknologiske kompleksitet væk, så udviklerne kan fokusere på den service logik i stedet for VVS involveret i hosting-tjenester. Hosting en tjeneste uden for IIS kræver WCF runtime og en forvaltes. NET ansøgning til at fungere som vært . Det er bygherrens ansvar at skrive koden , der starter og stopper værten. Instruktioner
1
Vælg "Ny " og derefter " Project" i menuen Filer. Dialogen Nyt projekt vises.
2
Vælg Visual C # så Windows fra projektskabelonen listen på dialogen Nyt projekt .
3
Select Console Application fra listen over Windows- projekttyper. Angiv et navn til projektet i feltet Navn . Projektets navn skal være noget i relation til selvstændige vært for en web -tjeneste, hvis det er muligt.
4
Skriv en placering i feltet Placering på dialogen Nyt projekt . Alternativt kan du klikke på " Browse" for at navigere til det sted, hvor projektet vil blive gemt. Klik på "OK". Visual Studio vil skabe en ny konsol applikation.
5
Højreklik SelfHost i Solution Explorer . Vælg derefter Tilføj kommissorium. Find System.ServiceModel i . NET fanen og klik på " OK". Dette vil tilføje en henvisning til den System.ServiceModel forsamling , der er nødvendig for at udvikle eller vært WCF-tjenester .
6
Dobbeltklik på klassen fil, der blev tilføjet , da projektet blev oprettet. I de fleste tilfælde vil det hedde Program.cs . Koden for klassen vil blive vist .
7
Højreklik på projektet , og vælg "Tilføj ny klasse . " Navngiv class " HelloWorld ", og indtaste følgende kode : Hej
hjælp System.ServiceModel ,
hjælp System.ServiceModel.Description ,
[ tjenesteydelsesaftale ]
< p > offentlig grænseflade IHelloWorld
{
[ OperationContract ]
string SayHello ( string name ),
}
public class HelloWorld : IHelloWorld
{
offentlig string SayHello (string navn)
{
retur string.Format ( "Hej, {0}" , navn) ;
}
}
Denne kode er gennemførelsen af en prøve " HelloWorld " web service, der har en operation, " SayHello ".
8 < p> Dobbeltklik på den klasse, der automatisk blev tilføjet , da projektet blev oprettet. I de fleste tilfælde vil klassen blive navngivet Program.cs
9
Indtast følgende kode i toppen af klassen : Hej
hjælp System.ServiceModel ,
< p . > hjælp System.ServiceModel.Description ,
10
Indtast følgende kode i Main metode i klassen : Hej
//definerer basisadresse for tjenesten på den lokale maskine < br >
Uri baseAddress = new Uri ( " http://localhost:8080/hello ")
//Opret service Host
bruger ( ServiceHost host = new ServiceHost . ( typeof ( HelloWorld ) baseAddress ) )
{
//Aktiver metadata udgivelse
ServiceMetadataBehavior smb = new ServiceMetadataBehavior (); .
smb . HttpGetEnabled = true;
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ,
host.Description.Behaviors.Add (SMB) ,
//Åben ServiceHost at starte lytte efter meddelelser
host.Open (); .
Console.WriteLine ( "The service kører, og kan modtage anmodning {0}" , baseAddress )
Console . WriteLine ( "Press at stoppe tjenesten . ")
Console.ReadLine ();
//Luk ServiceHost
host.Close . ();
}
Denne kode starter tjenesten vært og skaber en instans af tjenesten. Den service kan kaldes fra en klient , indtil konsollen programmet er afsluttet.