Självvärd
SelfHost-exemplet visar hur du implementerar en lokalt installerad tjänst i ett konsolprogram. Det här exemplet baseras på Komma igång. Tjänstkonfigurationsfilen har bytt namn från Web.config till App.config och ändrats för att konfigurera en basadress som värden använder. Tjänstens källkod har ändrats för att implementera en statisk Main
funktion som skapar och öppnar en tjänstvärd som tillhandahåller den konfigurerade basadressen. Tjänstimplementeringen har ändrats för att skriva utdata till konsolen för varje åtgärd. Klienten har inte ändrats, förutom att konfigurera rätt slutpunktsadress för tjänsten.
Kommentar
Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.
Exemplet implementerar en statisk huvudfunktion för att skapa en ServiceHost för den angivna CalculatorService
typen, enligt följande exempelkod.
// 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();
}
}
När en tjänst finns i Internet Information Services (IIS) eller Windows Process Activation Service (WAS) tillhandahålls basadressen för tjänsten av värdmiljön. I det lokala fallet måste du ange basadressen själv. Detta görs med hjälp av elementet, underordnad add
till baseAddresses>, underordnad< värd>, underordnad <tjänst> enligt beskrivningen i följande exempelkonfiguration.<
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
...
</service>
När du kör exemplet visas åtgärdsbegäranden och svar i både tjänst- och klientkonsolfönstren. Tryck på RETUR i varje konsolfönster för att stänga av tjänsten och klienten.
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.
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.