Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo do SelfHost demonstra como implementar um serviço auto-hospedado em um aplicativo de console. Este exemplo é baseado no Começando. O arquivo de configuração de serviço foi renomeado de Web.config para App.config e modificado para configurar um endereço base, que o host usa. O código-fonte do serviço foi modificado para implementar uma função estática Main que cria e abre um host de serviço que fornece o endereço base configurado. A implementação do serviço foi modificada para gravar a saída no console para cada operação. O cliente não foi modificado, exceto por configurar o endereço de ponto de extremidade correto do serviço.
Observação
O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.
A amostra implementa uma função principal estática para criar um ServiceHost para o tipo CalculatorService específico, conforme mostrado no código de exemplo a seguir.
// Host the service within this EXE console application.
public static void Main()
{
// Create a ServiceHost for the CalculatorService type.
using (ServiceHost serviceHost =
new ServiceHost(typeof(CalculatorService)))
{
// Open the ServiceHost to create listeners
// and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
}
}
Quando um serviço é hospedado nos Serviços de Informações da Internet (IIS) ou serviço de ativação de processo do Windows (WAS), o endereço base do serviço é fornecido pelo ambiente de hospedagem. No caso auto-hospedado, você deve especificar o endereço básico por conta própria. Isso é feito usando o elemento add, filho de <baseAddresses>, filho do <host>, filho do <serviço>, conforme demonstrado na configuração de exemplo a seguir.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
...
</service>
Quando você executa o exemplo, as solicitações e respostas da operação são exibidas nas janelas do serviço e do console do cliente. Pressione ENTER em cada janela do console para desligar o serviço e o cliente.
Para configurar, compilar e executar o exemplo
Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.
Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.
Para executar o exemplo em uma configuração de computador único ou cruzado, siga as instruções em Executar os exemplos do Windows Communication Foundation.