WebMethodAttribute.MessageName 属性

定义

在传递到 XML Web service 方法和从 XML Web service 方法返回的数据中用于 XML Web service 方法的名称。

public:
 property System::String ^ MessageName { System::String ^ get(); void set(System::String ^ value); };
public string MessageName { get; set; }
member this.MessageName : string with get, set
Public Property MessageName As String

属性值

String

在传递到 XML Web services 方法和从 XML Web services 方法返回的数据中用于 XML Web services 方法的名称。 默认值是 XML Web services 方法的名称。

示例

在下面的示例中, MessageName 用于消除这两 Add 种方法的歧义。

<%@ 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;
    }   
 }
<%@ 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

注解

MessageName 属性可用于别名方法或属性名称。 属性的最常见用法 MessageName 是唯一标识多态方法。 默认情况下, MessageName 设置为 XML Web 服务方法的名称。 因此,如果 XML Web 服务包含两个或多个具有相同名称的 XML Web 服务方法,则可以通过设置 MessageName XML Web 服务中唯一的名称来标识单个 XML Web 服务方法,而无需在代码中更改实际方法名称的名称。

将数据传递到 XML Web 服务时,它会在请求中发送,并在返回时在响应中发送。 在请求和响应中,用于 XML Web 服务方法的名称是其 MessageName 属性。

与 XML Web 服务方法关联的消息名称在 XML Web 服务中必须是唯一的。

如果在客户端调用原始方法后添加了具有相同名称但不同参数的新 XML Web 服务方法,则应为新方法指定不同的消息名称,但应保留原始消息名称,以确保与现有客户端兼容。

适用于

另请参阅