Visual C# .NET を使用して Web サービスを作成する

この記事では、2 つの数値を加算、減算、除算、乗算するためのメソッドを公開する MathService と呼ばれる Web サービスを記述するのに役立ちます。

元の製品バージョン: Visual C# .NET
元の KB 番号: 308359

要件

次の一覧では、必要な推奨ハードウェア、ソフトウェア、スキル、知識について説明します。

  • Microsoft Windows
  • インターネット インフォメーション サーバー
  • Visual Studio .NET

この記事では、「Visual Studio .NET 統合開発環境を使用する方法」というトピックをよく理解していることを前提としています。

.asmx Web サービスを記述する

  1. Visual Studio .NET を開きます。

  2. [ ファイル ] メニューの [ 新規 ] を選択し、[プロジェクト] を選択 します。 [ プロジェクトの種類] で、[ Visual C# プロジェクト] を選択します。 次に、[テンプレート] の下 ASP.NET [Web サービス ] を選択 します。 [場所] テキスト ボックスに「MathService」と入力して、既定の名前 (WebService1) を MathService に変更します。

  3. Service1.asmx から MathService.asmx に作成される既定の Web サービスの名前を変更します

  4. デザイナー環境で [クリック] を選択 してコード ビューに切り替えます。

  5. サービスの機能をカプセル化するメソッドを定義します。 サービスから公開される各メソッドには、その前に属性のフラグが 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);
    }
    
  6. [ ビルド ] メニューの [ ビルド ] を選択して、Web サービスをビルドします。

  7. MathService.asmx Web サービス ページを参照して、Web サービスをテストします。 ページをホストするようにローカル コンピューターを設定した場合、URL は です http://localhost/MathService/MathService.asmx

ASP.NET ランタイムは、Web サービスについて説明する Web サービス ヘルプ ページを返します。 このページでは、さまざまな Web サービス メソッドをテストすることもできます。

Web サービスを使用する

  1. Visual Studio .NET を開きます。

  2. [ プロジェクトの種類] で [ Visual C# プロジェクト] を選択し、[ テンプレート] の [コンソール アプリケーション] を選択します。

  3. MathService Web サービスの参照を新しいコンソール アプリケーションに追加します。

    この手順では、クライアント コンピューターにプロキシ クラスを作成します。 プロキシ クラスが存在したら、 クラスに基づいてオブジェクトを作成できます。 オブジェクトで行われる各メソッド呼び出しは、Web サービスの均一なリソース識別子 (URI) (通常は SOAP 要求として) に送信されます。

    1. [ プロジェクト ] メニューの [ Web 参照の追加] を選択します。
    2. [ Web 参照の追加 ] ダイアログ ボックスで、[ アドレス ] テキスト ボックスに Web サービスの URL を入力し、Enter キーを押します。 Web サービスをホストするようにローカル コンピューターを設定した場合、URL は です http://localhost/MathService/MathService.asmx
    3. [参照の追加] を選択します。 または、探索ファイル (MathService.vsdisco) の URL を入力するか、左側のウィンドウで [ローカル Web サーバー上の Web 参照 ] を選択して、一覧から MathService サービスを選択することもできます。
    4. ソリューション エクスプローラーの [Web 参照] セクションを展開し、使用された名前空間をメモします。
  4. 作成されたプロキシ オブジェクトのインスタンスを作成します。 という関数 Mainに次のコードを配置します。

    localhost.Service1 myMathService = new localhost.Service1();
    
  5. 前の手順で作成したプロキシ オブジェクトに対して、次のようにメソッドを呼び出します。

    Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
    
  6. [ ビルド ] メニューの [ ビルド ] を選択して、コンソール アプリケーションをビルドします。

  7. [デバッグ] メニューの [スタート] を選択して、アプリケーションをテストします。

  8. プロジェクトを閉じて保存します。

関連情報

詳細については、「Visual Studio .NET ヘルプ」の「Web サービスを使用した Web サービスのプログラミング」トピック、または「.NET Framework 開発者ガイド」の「ASP.NET Web サービスと ASP.NET Web サービス クライアント」トピックを参照してください。

詳細については、次の Web サイトを参照してください。