次の方法で共有


XML Web サービス メソッドの定義

XML Web サービスを実装するクラスのメソッドは、ASP.NET を使用して作成した XML Web サービスとは自動的に通信できますが、Web 全体で通信する機能は自動的には備わりません。しかし、その機能は簡単に追加できます。この機能を追加するには、WebMethod 属性をパブリック メソッドに適用します。Web 経由で通信可能な XML Web サービスのメソッドは、XML Web サービス メソッドと呼ばれます。

XML Web サービス メソッドは、XML Web サービスが使用するメッセージ処理インフラストラクチャの中心的な要素です。つまり、クライアントと XML Web サービスは、メッセージ (既定では SOAP メッセージ) を使用して通信します。クライアントは XML Web サービスに SOAP 要求を送信し、XML Web サービス メソッドは SOAP 応答を返します。XML Web サービスは、Web サービス記述言語 (WSDL: Web Services Description Language) で定義されている操作を使用して、受け入れるメッセージの種類を定義します。これらの操作は、XML Web サービス内の各 XML Web サービス メソッドに関連付けられます。これらの各 XML Web サービス メソッドが ASP.NET ではクラスのメソッドとして定義されている場合でも、最終的にネットワーク経由で通信されるデータは XML にシリアル化する必要があります。つまり、重要な点は、XML Web サービスが DCOM の代替ではなく、業界標準を使用するプラットフォームを経由して通信するためのメッセージ処理インフラストラクチャであることです。

XML Web サービス メソッドを宣言するには

  1. WebService ディレクティブを追加し、XML Web サービスを宣言します。詳細については、「XML Web サービスの宣言」を参照してください。
  2. その XML Web サービスを実装するクラスにパブリック メソッドを追加します。
  3. 操作に割り当てるパブリック メソッドに WebMethod 属性を適用します。

2 つのパブリック メソッド (そのうちの 1 つは XML Web サービス メソッド) を持つコード例を次に示します。Multiply メソッドは WebMethod 属性が適用されているため、XML Web サービス メソッドです。

<%@ WebService Language="C#" Class="Util" %>
    using System;
    using System.Web.Services;
    public class Util: WebService 
     {
       public int Add(int a, int b) 
       {
          return a + b;
       }
    
       [ WebMethod]       public long Multiply(int a, int b) 
       {
          return a * b;
       }
   }
[Visual Basic]
<%@ WebService Language="VB" Class="Util" %>
    Imports System
    Imports System.Web.Services
    Public Class Util 
       Inherits WebService

       Public Function Add(a As Integer, b As Integer) As Integer
          Return a + b
       End Function
    
       < WebMethod()> _       Public Function Multiply(a As Integer, b As Integer) As Long
          Return a * b
       End Function
   End Class

参照

WebMethodAttribute クラス | ASP.NET を使用した XML Web サービスの作成 | XML Web サービスの宣言