方法 : 構成を使用して ASP.NET AJAX エンドポイントを追加する
Windows Communication Foundation (WCF) では、クライアント Web サイトの JavaScript から呼び出される ASP.NET AJAX 対応のエンドポイントを使用できるようにするサービスを作成できます。このようなエンドポイントを作成するには、他のすべての Windows Communication Foundation (WCF) エンドポイントと同様に、構成ファイルを使用するか、または構成要素を必要としないメソッドを使用できます。ここでは、構成を使用する方法について説明します。
サービス エンドポイントを ASP.NET AJAX 対応にする手順には、WebHttpBinding を使用するようにエンドポイントを構成し、<enableWebScript> エンドポイント動作を追加することが含まれます。エンドポイントの構成後、サービスを実装してホストする手順は、WCF サービスで使用される手順に似ています。実施例については、「AJAX Service Using HTTP POST sample」を参照してください。
構成を使用せずに ASP.NET AJAX エンドポイントを構成する方法詳細については、 、「方法 : 構成を使用せずに ASP.NET AJAX エンドポイントを追加する」を参照してください。
基本的な WCF サービスを作成するには
ServiceContractAttribute 属性でマークされたインターフェイスを使用して、基本的な WCF サービス コントラクトを定義します。各操作を OperationContractAttribute でマークします。Namespace プロパティが設定されていることを確認します。
[ServiceContract(Namespace = "MyService")] public interface ICalculator { [OperationContract] // This operation returns the sum of d1 and d2. double Add(double n1, double n2); //Other operations omitted… }
CalculatorService
を使用して、ICalculator
サービス コントラクトを実装します。public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } //Other operations omitted…
名前空間ブロック内にラップすることにより、
ICalculator
とCalculatorService
の実装の名前空間を定義します。Namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Caculator here. }
サービスに ASP.NET AJAX エンドポイントを作成するには
動作の構成を作成し、サービスの ASP.NET AJAX 対応のエンドポイント用に <enableWebScript> 動作を指定します。
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
WebHttpBinding と、前の手順で定義した ASP.NET AJAX 動作を使用するサービスのエンドポイントを作成します。
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
IIS でサービスをホストするには
IIS でサービスをホストするには、アプリケーションで .svc 拡張子の新しいサービス ファイルを作成します。サービスに該当する @ServiceHost ディレクティブ情報を追加して、このファイルを編集します。たとえば、
CalculatorService
サンプルに対応するサービス ファイルのコンテンツには、次の情報が記述されています。<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
IIS でのホスト詳細については、 、「方法 : IIS で WCF サービスをホストする」を参照してください。
サービスを呼び出すには
- エンドポイントは .svc ファイルを基準にした空のアドレスの位置に構成されているので、サービスは使用可能であり、service.svc/<操作> に対して要求を送信することで、サービスを呼び出すことができます。たとえば、service.svc/Add では
Add
操作を呼び出します。これは、ASP.NET AJAX Script Manager コントロールのスクリプト コレクションにエンドポイント URL を入力することで使用できます。例については、「AJAX Service Using HTTP POST sample」を参照してください。
関連項目
タスク
方法 : AJAX 対応 ASP.NET Web サービスを WCF に移行する