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>
若要使用這個範例
若要建立解決方案,請依照建置 Windows Communication Foundation 範例中的指示進行。
遵循下列步驟執行範例:
以滑鼠右鍵按一下 [服務] 專案,並選取 [設定為啟始專案],然後按下 Ctrl+F5。
等待主控台輸出確認服務已啟動且在執行中。
以滑鼠右鍵按一下 [用戶端] 專案,並選取 [設定為啟始專案],然後按下 Ctrl+F5。