方法 : ASP.NET AJAX で WCF サービスを構成する

更新 : 2007 年 11 月

Windows Communication Foundation (WCF) では、ASP.NET AJAX 対応の Web アプリケーションで実行されるクライアントの ECMAScript (JavaScript) 関数から呼び出すことのできるサービス (.svc) を作成できます。このトピックでは、クライアント スクリプトから呼び出すことができるようにサービスを構成する方法について説明します。サービスは、Web.config ファイルの system.serviceModel 要素 (configuration セクションの子) で構成します。

WCF サービスの呼び出し時には、クライアント アプリケーションとサービス間でのデータ交換に JSON 形式が使用されます。

クライアント スクリプトからの呼び出しを有効にするように WCF サービスを構成するには

  1. アプリケーションの Web.config ファイルを開きます。

  2. 次のexampleに示すように、serviceHostingEnvironment 要素の aspNetCompatibilityEnabled を true に設定します。

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    
  3. 次の例に示すように、HTTP パイプラインに適用するメッセージング スタックを構成します。

    <bindings>
        <webHttpBinding>
           <binding name="default"/>
        </webHttpBinding>
    </bindings>
    
  4. behaviors 要素に含まれる endpointBehaviors と serviceBehaviors を定義して、エンドポイントおよびサービスの behavior 要素を構成します。

    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. これまでの手順で webHttpBinding 属性と behavioConfiguration 属性の値を定義した、service 要素のエンドポイントを構成します。

    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 サービスの作成

方法 : 構成を使用して ASP.NET AJAX エンドポイントを追加する

JSON などのデータ転送形式のサポート