Udostępnij za pośrednictwem


Host samodzielny

W przykładzie SelfHost pokazano, jak zaimplementować usługę self-hosted w aplikacji konsolowej. Ten przykład jest oparty na rozpoczynaniu pracy. 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

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

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

// 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 własnego adresu musisz określić adres podstawowy samodzielnie. Odbywa się to przy użyciu add elementu podrzędnego <baseAddresses>, podrzędnego hosta>, elementu podrzędnego <<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 klawisz ENTER w każdym oknie konsoli, aby zamknąć usługę i klienta.

Aby skonfigurować, skompilować i uruchomić przykład

  1. Upewnij się, że wykonano procedurę instalacji jednorazowej 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 temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu 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 też