Sdílet prostřednictvím


Self-Host

Ukázka SelfHost ukazuje, jak implementovat službu v místním prostředí v konzolové aplikaci. Tato ukázka je založená na začínáme. Konfigurační soubor služby byl přejmenován z Web.config na App.config a upraven tak, aby nakonfiguroval základní adresu, kterou hostitel používá. Zdrojový kód služby byl upraven tak, aby implementoval statickou Main funkci, která vytvoří a otevře hostitele služby, který poskytuje nakonfigurovanou základní adresu. Implementace služby byla upravena tak, aby zapisovala výstup do konzoly pro každou operaci. Klient nebyl upraven, s výjimkou konfigurace správné adresy koncového bodu služby.

Poznámka:

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.

Ukázka implementuje statickou hlavní funkci k vytvoření ServiceHost pro daný CalculatorService typ, jak je znázorněno v následujícím vzorovém kódu.

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

Pokud je služba hostovaná v internetové informační službě (IIS) nebo službě aktivace procesu systému Windows (WAS), je základní adresa služby poskytována hostitelským prostředím. V případě místního hostování musíte zadat základní adresu sami. To se provádí pomocí elementu add, podřízeného <baseAddresses>, podřízeného <hostitele>, podřízeného <služby>, jak je znázorněno v následující ukázkové konfiguraci.

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

Při spuštění ukázky se požadavky na operace a odpovědi zobrazí v oknech služby i konzoly klienta. Stisknutím klávesy ENTER v každém okně konzoly vypnete službu a klienta.

Jak nastavit, sestavit a spustit ukázku

  1. Ujistěte se, že jste provedli instalační proceduru One-Time pro ukázky Windows Communication Foundation.

  2. Pokud chcete sestavit verzi C# nebo Visual Basic .NET řešení, postupujte podle pokynů v Sestavení ukázek Windows Communication Foundation.

  3. Pokud chcete spustit ukázku v konfiguraci s jedním počítačem nebo konfiguraci na více počítačích, postupujte podle pokynů v části Spouštění ukázek Windows Communication Foundation.

Viz také