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
Kontrollera att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.
Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.
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.
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.