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 サイトを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示