Hospedagem do IIS usando código embutido

O exemplo InlineCode demonstra como implementar um serviço hospedado pelo IIS (Serviços de Informações da Internet), onde o código de serviço está contido em linha em um arquivo .svc e é compilado sob demanda. O código de serviço também pode ser implementado diretamente em arquivos de código-fonte localizados no diretório \App_Code do aplicativo ou compilado em assembly implantado em \bin. Esta amostra não demonstra essas técnicas.

Nota

O procedimento de configuração e as instruções de compilação para este exemplo estão localizados no final deste tópico.

O exemplo demonstra um serviço típico que implementa um contrato que define um padrão de comunicação solicitação-resposta. O serviço está hospedado no IIS e o código de serviço está totalmente contido no arquivo Service.svc. O serviço é ativado pelo host e compilado sob demanda pela primeira mensagem enviada ao serviço. Não é necessária uma pré-compilação. O serviço implementa um ICalculator contrato conforme definido no código a seguir:

// Define a service contract.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
    public interface ICalculator
{
    [OperationContract]
    double Add(double n1, double n2);
    [OperationContract]
    double Subtract(double n1, double n2);
    [OperationContract]
    double Multiply(double n1, double n2);
    [OperationContract]
    double Divide(double n1, double n2);
}

A implementação do serviço calcula e retorna o resultado apropriado.

<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>

// Service class that implements the service contract.
public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        return n1 + n2;
    }
    public double Subtract(double n1, double n2)
    {
        return n1 - n2;
    }
    public double Multiply(double n1, double n2)
    {
        return n1 * n2;
    }
    public double Divide(double n1, double n2)
    {
        return n1 / n2;
    }
}

Quando você executa o exemplo, as solicitações de operação e as respostas são exibidas na janela do console do cliente. Pressione ENTER na janela do cliente para desligar o cliente.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

Para configurar, compilar e executar o exemplo

  1. Certifique-se de ter executado o procedimento de instalação única para os exemplos do Windows Communication Foundation.

  2. Para criar a edição C# ou Visual Basic .NET da solução, siga as instruções em Criando os exemplos do Windows Communication Foundation.

  3. Depois que a solução tiver sido criada, execute setup.bat para configurar o aplicativo ServiceModelSamples no IIS 7.0. O diretório ServiceModelSamples agora deve aparecer como um aplicativo do IIS 7.0.

  4. Para executar o exemplo em uma configuração de computador único ou entre computadores, siga as instruções em Executando os exemplos do Windows Communication Foundation. Para obter um exemplo sobre como criar um aplicativo cliente que pode chamar esse serviço, consulte Como: Criar um cliente.

Consulte também