Compartilhar via


Hospedagem do IIS utilizando código embutido

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

Observação

Os procedimentos de instalação e as instruções de compilação para esse exemplo estão localizadas no final deste tópico.

Este 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 é 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. Nenhuma pré-compilação é necessária. O serviço implementa um contrato ICalculator 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 a amostra, 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. Verifique se você executou o Procedimento de instalação única para os exemplos do Windows Communication Foundation.

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

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

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

Confira também