この記事は、2 つの数値を加算、減算、除算、乗算するためのメソッドを公開する、 MathService と呼ばれる Web サービスを記述するのに役立ちます。
元の製品バージョン: Visual C# .NET
元の KB 番号: 308359
要件
次の一覧では、必要な推奨ハードウェア、ソフトウェア、スキル、知識について説明します。
- Microsoft Windows
- インターネット インフォメーション サーバー
- Visual Studio .NET
この記事では、Visual Studio .NET 統合開発環境の使用方法に関するトピックを理解していることを前提としています。
.asmx Web サービスを作成する
Visual Studio .NET を開きます。
[ File メニューの New を選択し、 Project を選択します。 [ プロジェクトの種類で、 Visual C# プロジェクトを選択します。 次に、Templates の下ASP.NET Web サービスを選択します。 Location テキスト ボックスに「MathService」と入力して、既定の名前 (WebService1) を MathService に変更します。
Service1.asmx から作成される既定の Web サービスの名前を MathService.asmx に変更します。
デザイナー環境でコード ビューに切り替えるには クリック を選択します。
サービスの機能をカプセル化するメソッドを定義します。 サービスから公開される各メソッドには、その前に
WebMethod属性のフラグを設定する必要があります。 この属性がないと、メソッドはサービスから公開されません。Note
すべてのメソッドに
WebMethod属性が必要なわけではありません。 パブリック Web サービス メソッドによって呼び出される実装の詳細を非表示にしたり、WebServiceクラスがローカル アプリケーションでも使用されている場合に役立ちます。 ローカル アプリケーションは任意のパブリック クラスを使用できますが、WebMethodメソッドのみが Web サービスとしてリモートでアクセスできます。作成した
MathServicesクラスに次のメソッドを追加します。[WebMethod] public int Add(int a, int b) { return(a + b); } [WebMethod] public System.Single Subtract(System.Single A, System.Single B) { return (A - B); } [WebMethod] public System.Single Multiply(System.Single A, System.Single B) { return A * B; } [WebMethod] public System.Single Divide(System.Single A, System.Single B) { if(B == 0) return -1; return Convert.ToSingle(A / B); }Build メニューの Build を選択して、Web サービスをビルドします。
Web サービスをテストするには、 MathService.asmx Web サービス ページを参照します。 ページをホストするようにローカル コンピューターを設定した場合、URL は
http://localhost/MathService/MathService.asmx。
ASP.NET ランタイムは、Web サービスを説明する Web サービス ヘルプ ページを返します。 このページでは、さまざまな Web サービス メソッドをテストすることもできます。
Web サービスを使用する
Visual Studio .NET を開きます。
[プロジェクトの種類で、Visual C# プロジェクトを選択し、テンプレートの下にある Console アプリケーションを選択します。
MathService Web サービスの参照を新しいコンソール アプリケーションに追加します。
この手順では、クライアント コンピューターにプロキシ クラスを作成します。 プロキシ クラスが存在したら、そのクラスに基づいてオブジェクトを作成できます。 オブジェクトで行われる各メソッド呼び出しは、Web サービスの URI (通常は SOAP 要求として) に送信されます。
- Project メニューの [Web 参照の追加] 選択。
- [ Web 参照の追加 ] ダイアログ ボックスで、[ Address テキスト ボックスに Web サービスの URL を入力し、Enter キーを押します。 Web サービスをホストするようにローカル コンピューターを設定した場合、URL は
http://localhost/MathService/MathService.asmx。 - 参照の追加を選択します。 または、探索ファイルの URL (MathService.vsdisco) を入力するか、左側のウィンドウの [ローカル Web サーバー Web 参照 を選択して、一覧から MathService サービスを選択することもできます。
- ソリューション エクスプローラーの Web 参照 セクションを展開し、使用された名前空間をメモします。
作成されたプロキシ オブジェクトのインスタンスを作成します。
Mainという関数に次のコードを配置します。localhost.Service1 myMathService = new localhost.Service1();次のように、前の手順で作成したプロキシ オブジェクトに対してメソッドを呼び出します。
Console.Write("2 + 4 = {0}", myMathService.Add(2,4));Build メニューの Build を選択して、コンソール アプリケーションをビルドします。
Debug メニューの Start を選択して、アプリケーションをテストします。
プロジェクトを閉じて保存します。
関連情報
詳細については、「Visual Studio .NET ヘルプ」の「Web サービスを使用した Web のプログラミングトピック」または「.NET Framework 開発者ガイド」の「web サービスと web サービス クライアント ASP.NETASP.NET」トピックを参照してください。
詳細については、次の Web サイトを参照してください。