Dela via


IIS-värd med infogad kod

InlineCode-exemplet visar hur du implementerar en tjänst som hanteras av Internet Information Services (IIS), där tjänstkoden finns på rad i en .svc-fil och kompileras på begäran. Tjänstkod kan också implementeras direkt i källkodsfiler som finns i programmets \App_Code-katalog eller kompileras till sammansättningen som distribueras i \bin. Det här exemplet visar inte dessa tekniker.

Kommentar

Konfigurationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.

Exemplet visar en typisk tjänst som implementerar ett kontrakt som definierar ett kommunikationsmönster för begäran-svar. Tjänsten finns i IIS och tjänstkoden finns helt i Filen Service.svc. Tjänsten är värdaktiverad och kompileras på begäran av det första meddelandet som skickas till tjänsten. Det behövs ingen förkompilering. Tjänsten implementerar ett ICalculator kontrakt enligt definitionen i följande kod:

// 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);
}

Tjänstimplementeringen beräknar och returnerar lämpligt resultat.

<%@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;
    }
}

När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. Tryck på RETUR i klientfönstret för att stänga av klienten.

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.

Så här konfigurerar du, skapar och kör exemplet

  1. Kontrollera att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.

  2. Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.

  3. När lösningen har skapats kör du setup.bat för att konfigurera ServiceModelSamples-programmet i IIS 7.0. Katalogen ServiceModelSamples bör nu visas som ett IIS 7.0-program.

  4. Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel. Ett exempel på hur du skapar ett klientprogram som kan anropa den här tjänsten finns i Så här skapar du en klient.

Se även