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