Share via


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

另請參閱