WebMethodAttribute.MessageName プロパティ
XML Web サービス メソッドへ渡されるデータ、および XML Web サービス メソッドから返されるデータ内で XML Web サービス メソッドに使用される名前。
Public Property MessageName As String
[C#]
public string MessageName {get; set;}
[C++]
public: __property String* get_MessageName();public: __property void set_MessageName(String*);
[JScript]
public function get MessageName() : String;public function set MessageName(String);
プロパティ値
XML Web サービス メソッドへ渡されるデータ、および XML Web サービス メソッドから渡されるデータ内で XML Web サービス メソッドに使用される名前。既定値は、XML Web サービス メソッドの名前です。
解説
メソッド名またはプロパティ名にエイリアスを付けるには、 MessageName プロパティを使用できます。 MessageName プロパティの最も一般的な使用法は、ポリモーフィック メソッドを一意に識別することです。既定では、 MessageName には XML Web サービス メソッドの名前が設定されます。このため、XML Web サービスに、同じ名前の 2 つ以上の XML Web サービス メソッドが含まれている場合は、コードで実際のメソッド名を変更するのではなく、 MessageName に XML Web サービス内で一意となる名前を設定することによって、各 XML Web サービス メソッドを一意に識別できます。
データが XML Web サービスに渡される場合は要求内で送信され、データが XML Web サービスから返される場合は応答内で送信されます。要求内と応答内では、XML Web サービス メソッドに使用されている名前は、その MessageName プロパティの名前になります。
XML Web サービス メソッドに関連付けられているメッセージ名は、XML Web サービス内で一意である必要があります。
名前が同じでもパラメータが異なる新しい XML Web サービス メソッドが、クライアントが元のメソッドを呼び出した後に追加された場合、新しいメソッドには別のメッセージ名を指定する必要があります。しかし、元のメッセージ名は、既存のクライアントとの互換性を保持するために、残しておく必要があります。
使用例
[Visual Basic, C#] MessageName を使用して、2 つの Add
メソッドを明確に区別する例を次に示します。
<%@ WebService Language="VB" Class="Calculator" %>
Imports System
Imports System.Web.Services
Public Class Calculator
Inherits WebService
' The MessageName property defaults to Add for this XML Web service method.
<WebMethod()> _
Overloads Public Function Add(i As Integer, j As Integer) As Integer
Return i + j
End Function
<WebMethod(MessageName := "Add2")> _
Overloads Public Function Add(i As Integer, j As Integer, k As Integer) As Integer
Return i + j + k
End Function
End Class
[C#]
<%@ WebService Language="C#" Class="Calculator" %>
using System;
using System.Web.Services;
public class Calculator : WebService {
// The MessageName property defaults to Add for this XML Web service method.
[WebMethod]
public int Add(int i, int j) {
return i + j;
}
[WebMethod(MessageName="Add2")]
public int Add(int i, int j, int k) {
return i + j + k;
}
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
WebMethodAttribute クラス | WebMethodAttribute メンバ | System.Web.Services 名前空間 | WebMethodAttribute