HOW TO:設定 ASP.NET AJAX 中的 WCF 服務
更新:2007 年 11 月
Windows Communication Foundation (WCF) 可讓您建立能從用戶端 ECMAScript (JavaScript) 函式呼叫的服務 (.svc),而這些函式是在具備 ASP.NET AJAX 能力的 Web 應用程式中執行。本主題說明如何設定該服務以便從用戶端指令碼加以呼叫。您可以在 Web.config 檔案的 system.serviceModel 項目中設定該服務,此項目是 configuration 區段的子項。
WCF 服務呼叫期間,在用戶端應用程式與服務之間會使用 JSON 格式來交換資料。
若要將 WCF 服務設定為可從用戶端指令碼呼叫
開啟應用程式的 Web.config 檔案。
將 serviceHostingEnvironment 項目的 aspNetCompatibilityEnabled 設為 true,如下列 example 所示:
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
如下列範例所示,將訊息堆疊設定為套用至 HTTP 管線:
<bindings> <webHttpBinding> <binding name="default"/> </webHttpBinding> </bindings>
設定端點與服務的 behavior 項目,方法是定義包含在 behaviors 項目內的 endpointBehaviors 和 serviceBehaviors。
endpointBehaviors 項目的 behavior 項目必須加以設定,如此便會啟用 Web 指令碼。serviceBehaviors 項目的 behavior 項目必須加以設定,如此便會發行服務中繼資料供日後透過 HTTP GET 要求加以擷取。
下列範例說明如何設定 behavior 和 endPointBehavior 項目。
<behaviors> <endpointBehaviors> <behavior name="webScriptEnablingBehavior"> <enableWebScript/> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior name="MyServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>
設定 service 項目的端點,該項目的 webHttpBinding 和 behavioConfiguration 屬性值已於先前步驟中加以定義。
下列範例說明如何設定 service 項目。
<services> <service name="Samples.Aspnet.SimpleService" behaviorConfiguration="MyServiceTypeBehaviors"> <endpoint address="" binding="webHttpBinding" bindingConfiguration="default" contract="Samples.Aspnet.ISimpleService" behaviorConfiguration="webScriptEnablingBehavior"/> </service> </services>