共用方式為


Self-Host

SelfHost 範例示範如何在控制台應用程式中實作自我裝載服務。 此範例是以 用戶入門為基礎。 服務組態檔已從 Web.config 重新命名為 App.config,並修改為設定主機所使用的基位址。 已修改服務原始程式碼,以實作靜態 Main 函式,以建立並開啟提供已設定基地址的服務主機。 已修改服務實作,以針對每個作業將輸出寫入主控台。 客戶端保持不變,僅對於服務的正確端點地址進行了設定。

備註

此範例的安裝程式和建置指示位於本主題結尾。

此範例會實作靜態 main 函式來建立 ServiceHost 函數,給定的 CalculatorService 類型,如下列範例程式碼所示。

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

當服務裝載在 Internet Information Services (IIS) 或 Windows Process Activation Service (WAS) 中時,服務的基位址是由裝載環境提供。 在自我託管的情況下,您必須自行指定基址。 這會使用add子系、<來完成,如下列範例組態所示。>

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

當您執行範例時,作業要求和回應會顯示在服務和用戶端控制台視窗中。 在每個主控台視窗中按 ENTER 鍵,關閉服務和用戶端。

要設定、建置和執行範例,請執行以下步驟:

  1. 請確定您已針對 Windows Communication Foundation 範例 執行One-Time 安裝程式。

  2. 若要建置解決方案的 C# 或 Visual Basic .NET 版本,請遵循建置 Windows Communication Foundation 範例 中的指示。

  3. 若要在單一或跨計算機組態中執行範例,請遵循 執行 Windows Communication Foundation 範例中的指示。

另請參閱