WCF 服務的簡化組態

ConfigSimplificationIn40 範例示範如何使用 Windows Communication Foundation (WCF) 來實作和設定一般服務和用戶端。 這個範例是所有其他基本技術範例的基礎。

此服務會公開端點來與服務通訊,會在 .NET Framework 4 中使用簡化的組態。 在.NET Framework 4 之前,端點通常會定義在組態檔 (Web.config) 中,如下列範例組態代碼所示。

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright ©) Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="Microsoft.Samples.GettingStarted.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <endpoint address="" binding="basicHttpBinding" contract="ICalculator"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
  </system.serviceModel>
</configuration>

在 .NET Framework 4 中,元素 <service> 是選擇性的。 當服務沒有定義任何端點時,每個基底位址的端點和實作的合約都會加入到服務中。 基底位址會附加到合約名稱以判斷端點,而繫結則取決於位址配置。 下列程式碼範例示範簡化的組態檔。 如設定,服務可以在相同電腦上的用戶端存取 http://localhost/servicemodelsamples/service.svc 。 為了讓遠端電腦上的用戶端存取服務,這時必須指定完整網域名稱,而不要指定 localhost。 根據預設,此服務不會公開任何中繼資料。 因此,服務會開啟 ServiceMetadataBehavior 行為。

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright © Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

若要使用這個範例

  1. 請確定您已 執行 Windows Communication Foundation 範例的一次性安裝程式

  2. 若要建置解決方案,請遵循 建置 Windows Communication Foundation 範例中的指示。

  3. 遵循下列步驟執行範例:

    1. 以滑鼠右鍵按一下[服務] 專案,然後選取 [設定為啟動專案],然後按Ctrl+F5

    2. 等待主控台輸出確認服務已啟動且在執行中。

    3. 以滑鼠右鍵按一下[用戶端] 專案,然後選取 [設定為啟動專案],然後按Ctrl+F5

另請參閱