. Antes da introdução do WCF, serviços web desenvolvidos na Net teve que ser hospedado no Internet Information Server ( IIS). Em . Net 3.0, as opções de hospedagem para serviços web . Líquidas aumentaram substancialmente . WCF inclui uma classe chamada ServiceHost que permite que os serviços sejam hospedados em um aplicativo facilmente. ServiceHost abstrai muitos a complexidade tecnológica longe para que os desenvolvedores possam se concentrar na lógica em vez de o encanamento envolvidos em serviços de hospedagem de serviços. Hospedar um serviço fora do IIS requer o tempo de execução do WCF e um NET aplicativo gerenciado . Agir como o anfitrião . É responsabilidade do desenvolvedor para escrever o código que inicia e pára o host. Instruções 
 1 
 Selecione "New " e depois " Project" no menu Arquivo. A caixa de diálogo New Project é exibida. 
 2 
 Selecione Visual C # , em seguida, o Windows a partir da lista de modelos de projeto na caixa de diálogo New Project . 
 3 
 Selecionar Aplicativo Console a partir da lista de tipos de projeto do Windows. Especifique um nome para o projeto na caixa Nome . O nome do projeto deve ser algo relacionado ao auto de hospedagem de um serviço web , se possível. 
 4 
 Digite um local na caixa de localização na caixa de diálogo New Project . Como alternativa , clique em " Browse" para navegar até o local onde o projeto será armazenado. Clique em " OK". Visual Studio irá criar um novo aplicativo de console. 
 5 
 botão direito do mouse SelfHost no Solution Explorer. Em seguida, selecione Add Reference. Localize System.ServiceModel na NET . E clique em " OK". Isto irá adicionar uma referência ao assembly System.ServiceModel que é necessário para desenvolver ou serviços WCF host. 
 6 
 Clique duas vezes no arquivo de classe que foi adicionado quando o projeto foi criado. Na maioria dos casos, será nomeado Program . O código para a classe será exibida. 
 7 
 clique com o botão direito do mouse sobre o nome do projeto e selecione "Add New Class ". Nomeie a classe " HelloWorld " e insira o seguinte código: 
 
 usando System.ServiceModel ; 
 
 usando System.ServiceModel.Description ; 
 
 [ ServiceContract ] 
 
 interface pública IHelloWorld 
 
 { 
 
 [ OperationContract ] 
 
 corda SayHello (string name ); 
 
 } 
 
 public class HelloWorld : IHelloWorld 
 
 { 
 
 cadeia pública SayHello (string name ) { 
 
 
 
 retornar string.Format ("Olá , {0}" , nome ); 
 
 } } 
 
 
 Este código é a implementação de uma amostra " HelloWorld " serviço web que tem uma operação, " SayHello ". 
 8 
 clique duas vezes sobre a classe que foi adicionado automaticamente quando o projeto foi criado. Na maioria dos casos , a classe será nomeado Program 
 9 
 Digite o seguinte código na parte superior da classe : 
 
 usando System.ServiceModel ; 
 
 usando System.ServiceModel.Description ; 
 10  Digite o seguinte código no método Main da classe : 
 
 //define o endereço base para o serviço na máquina local 
 
 Uri baseAddress = new Uri ( " http://localhost:8080/hello "); 
 
 //Cria o Service Host 
 
 usando ( ServiceHost host = new ServiceHost . ( typeof ( HelloWorld ) , baseAddress ) ) { 
 
 
 
 //Ativar a publicação de metadados 
 
 ServiceMetadataBehavior smb = new ServiceMetadataBehavior (); . 
 
 smb . HttpGetEnabled = true; 
 
 smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ; 
 
 host.Description.Behaviors.Add ( smb ); 
 
 //Abrir o ServiceHost para começar escuta de mensagens 
 
 host.Open (); . 
 
 Console.WriteLine (" O serviço está sendo executado e pode receber pedido {0}" , baseAddress ); 
 
 Console . WriteLine ( "Press Enter para parar o serviço . "); 
 
 Console.ReadLine (); . 
 
 //Fechar o ServiceHost 
 
 host.Close (); } 
 
 
 
 Este código inicia o serviço de acolhimento e cria uma instância do serviço. O serviço pode ser chamado de um cliente até que o aplicativo de console é fechado.