方法 : 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 サービスを構成するには
アプリケーションの Web.config ファイルを開きます。
次のexampleに示すように、serviceHostingEnvironment 要素の aspNetCompatibilityEnabled を true に設定します。
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
次の例に示すように、HTTP パイプラインに適用するメッセージング スタックを構成します。
<bindings> <webHttpBinding> <binding name="default"/> </webHttpBinding> </bindings>
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>
これまでの手順で 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>