方法 : 構成を使用して 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 サービスを作成するには

  1. 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…
    
    }
    
  2. CalculatorService を使用して、ICalculator サービス コントラクトを実装します。

    public class CalculatorService : ICalculator
    {
        public double Add(double n1, double n2)
        {
            return n1 + n2;
        }
    
    //Other operations omitted…
    
  3. 名前空間ブロック内にラップすることにより、ICalculatorCalculatorService の実装の名前空間を定義します。

    Namespace Microsoft.Ajax.Samples
    {
        //Include the code for ICalculator and Caculator here.
    }
    

サービスに ASP.NET AJAX エンドポイントを作成するには

  1. 動作の構成を作成し、サービスの ASP.NET AJAX 対応のエンドポイント用に <enableWebScript> 動作を指定します。

    <system.serviceModel>
        <behaviors>
            <endpointBehaviors>
                <behavior name="AspNetAjaxBehavior">
                    <enableWebScript />
                </behavior>
            </endpointBehaviors>
        </behaviors>
    </system.serviceModel>
    
  2. 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 でサービスをホストするには

  1. IIS でサービスをホストするには、アプリケーションで .svc 拡張子の新しいサービス ファイルを作成します。サービスに該当する @ServiceHost ディレクティブ情報を追加して、このファイルを編集します。たとえば、CalculatorService サンプルに対応するサービス ファイルのコンテンツには、次の情報が記述されています。

    <%@ServiceHost 
    language=c# 
    Debug="true" 
    Service="Microsoft.Ajax.Samples.CalculatorService"
    %>
    
  2. IIS でのホスト詳細については、 、「方法 : IIS で WCF サービスをホストする」を参照してください。

サービスを呼び出すには

  1. エンドポイントは .svc ファイルを基準にした空のアドレスの位置に構成されているので、サービスは使用可能であり、service.svc/<操作> に対して要求を送信することで、サービスを呼び出すことができます。たとえば、service.svc/Add では Add 操作を呼び出します。これは、ASP.NET AJAX Script Manager コントロールのスクリプト コレクションにエンドポイント URL を入力することで使用できます。例については、「AJAX Service Using HTTP POST sample」を参照してください。

関連項目

タスク

方法 : AJAX 対応 ASP.NET Web サービスを WCF に移行する

概念

ASP.NET AJAX 用の WCF サービスの作成