次の方法で共有


複合型を使用した AJAX サービスのサンプル

Download sample

このサンプルでは、Windows Communication Foundation (WCF) を使用して、複合型のインスタンスを作成し、そのインスタンスをサービスとクライアント間で JSON (JavaScript Object Notation) として送信する ASP.NET AJAX (Asynchronous JavaScript and XML) サービスを作成する方法を示します。AJAX サービスには、Web ブラウザ クライアントから JavaScript コードを使用してアクセスできます。このサンプルは、「基本的な AJAX サービス」のサンプルに基づいています。

Noteメモ :

このサンプルをビルドして実行するには、.NET Framework Version 3.5 をインストールする必要があります。Visual Studio 2008 では、プロジェクト ファイルとソリューション ファイルを開く必要があります。

WCF での AJAX サポートは、ScriptManager コントロールを介して ASP.NET AJAX と共に使用できるように最適化されています。ASP.NET AJAX と共に WCF を使用する例については、「AJAX のサンプル」を参照してください。

Noteメモ :

このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

次に示すサンプルのサービスは、AJAX 固有のコードを持たない WCF サービスです。WebGetAttribute 属性は適用されないため、既定の HTTP 動詞 ("POST") が使用されます。サービスには 1 つの DoMath 操作があります。この操作は、MathResult という名前の複合型を返します。複合型は標準のデータ コントラクト型で、AJAX 固有のコードも含まれていません。

[DataContract]
    public class MathResult
    {
        [DataMember]
        public double sum;
        [DataMember]
        public double difference;
        [DataMember]
        public double product;
        [DataMember]
        public double quotient;
    }

WebHttpBinding 標準バインディングとサービス構成内の <enableWebScript> 動作を使用して、サービスに AJAX エンドポイントを作成します。これは、基本的な AJAX サービス サンプルと同様です。

クライアント Web ページ ComplexTypeClientPage.aspx には、ユーザーがページの [Perform calculation] ボタンをクリックしたときにサービスを呼び出す ASP.NET および JavaScript コードが含まれています。サービスを呼び出すコードは、JSON 本文を作成し、HTTP POST を使用して送信します。これは、HTTP POST を使用する AJAX サービス サンプルと同様です。

サービス呼び出しに成功したら、生成された JavaScript オブジェクトのそれぞれのデータ メンバ (sumdifferenceproduct、および quotient) にアクセスできます。

function onSuccess(mathResult){
     document.getElementById("sum").value = mathResult.sum;
     document.getElementById("difference").value = mathResult.difference;
     document.getElementById("product").value = mathResult.product;
     document.getElementById("quotient").value = mathResult.quotient;
}

サンプルを設定、ビルド、および実行するには

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。

  2. Windows Communication Foundation サンプルのビルド」で説明されているように、ソリューション ComplexTypeAjaxService.sln をビルドします。

  3. https://localhost/ServiceModelSamples/ComplexTypeClientPage.aspx に移動します (プロジェクト ディレクトリからブラウザで ComplexTypeClientPage.aspx を開かないでください)。

関連項目

その他の技術情報

基本的な AJAX サービス

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.