共用方式為


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 服務設定為可從用戶端指令碼呼叫

  1. 開啟應用程式的 Web.config 檔案。

  2. 將 serviceHostingEnvironment 項目的 aspNetCompatibilityEnabled 設為 true,如下列 example 所示:

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    
  3. 如下列範例所示,將訊息堆疊設定為套用至 HTTP 管線:

    <bindings>
        <webHttpBinding>
           <binding name="default"/>
        </webHttpBinding>
    </bindings>
    
  4. 設定端點與服務的 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>
    
  5. 設定 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>
    

請參閱

概念

將 WCF 服務公開給用戶端指令碼

其他資源

<system.serviceModel>

建立 ASP.NET AJAX 的 WCF 服務

HOW TO:使用組態新增 ASP.NET AJAX 端點

支援 JSON 和其他資料傳輸格式