Udostępnij za pośrednictwem


Self-Host

W przykładzie SelfHost pokazano, jak zaimplementować usługę self-hosted w aplikacji konsolowej. Ten przykład jest oparty na Rozpoczynanie. Nazwa pliku konfiguracji usługi została zmieniona z Web.config na App.config i zmodyfikowana w celu skonfigurowania adresu podstawowego, którego używa host. Kod źródłowy usługi został zmodyfikowany w celu zaimplementowania funkcji statycznej Main , która tworzy i otwiera hosta usługi udostępniającego skonfigurowany adres podstawowy. Implementacja usługi została zmodyfikowana w celu zapisania danych wyjściowych w konsoli dla każdej operacji. Klient został niezmodyfikowany, z wyjątkiem konfigurowania poprawnego adresu punktu końcowego usługi.

Uwaga / Notatka

Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.

Przykład implementuje statyczną funkcję main, aby utworzyć element ServiceHost dla danego typu CalculatorService, jak pokazano w przykładowym kodzie poniżej.

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

Jeśli usługa jest hostowana w usługach Internet Information Services (IIS) lub usłudze aktywacji procesów systemu Windows (WAS), podstawowy adres usługi jest udostępniany przez środowisko hostingu. W przypadku scenariusza z samodzielnym hostowaniem musisz określić adres podstawowy samodzielnie. Odbywa się to przy użyciu elementu add, podrzędnego względem <baseAddresses>, które jest podrzędne względem <host>, podrzędnego względem <usługi>, jak pokazano w poniższej przykładowej konfiguracji.

<service
    name="Microsoft.ServiceModel.Samples.CalculatorService"
    behaviorConfiguration="CalculatorServiceBehavior">
  <host>
    <baseAddresses>
      <add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
    </baseAddresses>
  </host>
  ...
</service>

Po uruchomieniu przykładu żądania operacji i odpowiedzi są wyświetlane w oknach konsoli usługi i klienta. Naciśnij ENTER w każdym oknie konsoli, aby zamknąć usługę i klienta.

Aby skonfigurować, skompilować i uruchomić przykładowy program

  1. Upewnij się, że wykonano procedurę instalacji One-Time dla przykładów programu Windows Communication Foundation.

  2. Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w Kompilowanie przykładów Windows Communication Foundation.

  3. Aby uruchomić przykład w konfiguracji pojedynczej lub między komputerami, postępuj zgodnie z instrukcjami w temacie Uruchamianie przykładów programu Windows Communication Foundation.

Zobacz także