SoapRpcMethodAttribute 类

定义

指定发送至和源自该方法的 SOAP 消息使用 RPC 格式设置。Specifies that SOAP messages sent to and from the method use RPC formatting.

public ref class SoapRpcMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)]
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapRpcMethodAttribute : Attribute
type SoapRpcMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
继承
SoapRpcMethodAttribute
属性

示例

下面的代码示例将Rpc GetUserName XML Web service 方法的消息样式设置为。The following code example sets the message style to Rpc for the GetUserName XML Web service method.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapRpcMethod(Action="http://www.contoso.com/Sample", 
           RequestNamespace="http://www.contoso.com/Request",
           RequestElementName="GetUserNameRequest",
           ResponseNamespace="http://www.contoso.com/Response",
           ResponseElementName="GetUserNameResponse")]
      [ WebMethod(Description="Obtains the User Name") ]
      public UserName GetUserName() {
           string temp;
           int pos;
           UserName NewUser = new UserName();
           
           // Get the full user name, including the domain name if applicable.
           temp = User.Identity.Name;
 
           // Determine whether the user is part of a domain by searching for a backslash.
           pos = temp.IndexOf("\\");
           
           // Parse out the domain name from the string, if one exists.
           if (pos <= 0)
                 NewUser.Name = User.Identity.Name;
           else {
               NewUser.Name = temp.Remove(0,pos+1);
                 NewUser.Domain = temp.Remove(pos,temp.Length-pos);
           } 
       return NewUser;
      }
 
 }   
 
 public class UserName {
 
     public string Name;
     public string Domain;
 }
<%@ WebService Language="VB" class="MyUser" %>
Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols

Public Class MyUser
    Inherits WebService    
    
    <SoapRpcMethod(Action := "http://www.contoso.com/Sample", _
    RequestNamespace := "http://www.contoso.com/Request", _
    RequestElementName := "GetUserNameRequest", _
    ResponseNamespace := "http://www.contoso.com/Response", _
    ResponseElementName := "GetUserNameResponse"), _
    WebMethod(Description := "Obtains the User Name")> _
    Public Function _
        GetUserName() As UserName
        
        Dim temp As String
        Dim pos As Integer
        Dim NewUser As New UserName()
        
        ' Get the full user name, including the domain name if applicable.
        temp = User.Identity.Name
        
        ' Determine whether the user is part of a domain by searching for a backslash.
        pos = temp.IndexOf("\")
        
        ' Parse out the domain name from the string, if one exists.
        If pos <= 0 Then
            NewUser.Name = User.Identity.Name
        Else
            NewUser.Name = temp.Remove(0, pos + 1)
            NewUser.Domain = temp.Remove(pos, temp.Length - pos)
        End If
        Return NewUser
    End Function
End Class 

Public Class UserName
    
    Public Name As String
    Public Domain As String
End Class

注解

Web 服务描述语言 (WSDL) 定义了两种样式, 可用于在 SOAP 消息中设置 XML Web service 方法或操作的格式: RPCDocumentWeb Services Description Language (WSDL) defines two styles for how an XML Web service method, or operation, can be formatted in a SOAP message: RPC and Document. RPC格式设置是指根据用于 RPC 的 soap 规范对操作进行格式设置;其他称为 SOAP 规范的第7部分。RPC formatting refers to formatting the operation according to the SOAP specification for using SOAP for RPC; otherwise known as Section 7 of the SOAP specification. RPC格式设置表明, 所有参数都封装在 XML Web service 方法后面的一个名为的 XML 元素中, 并且该 XML 元素中的每个 XML 元素都表示一个名为的参数, 该元素以它所表示的参数命名。RPC formatting states that all parameters are encapsulated within a single XML element named after the XML Web service method and that each XML element within that XML element represents a parameter named after the parameter it is representing.

在和RPC Document样式中格式化的 SOAP 消息可用于以远程过程调用 (RPC) 方式与 XML Web service 进行通信; 但是, 也可以轻松Document地使用该样式与松散耦合方式.SOAP messages formatted in both the RPC and Document styles can be used to communicate with an XML Web service in a Remote Procedure Call (RPC) manner; however the Document style can also easily be used to communicate in a loosely coupled manner. 因此, Document建议使用样式 XML Web services。Therefore, Document style XML Web services is recommended. 有关更多详细信息, Customizing SOAP Messages请参阅主题。For more details, see the Customizing SOAP Messages topic.

有关更多详细信息, 请参阅自定义 SOAP 消息格式For more details, see Customizing SOAP Message Formatting.

此特性可应用于服务器上的 XML Web service 方法和客户端上的代理类。This attribute can be applied to an XML Web service method on the server and a proxy class on the client. 将属性设置为OneWay true不能访问其HttpContext的 XML Web service 方法。XML Web service methods that have the OneWay property set to true do not have access to their HttpContext. 同样, 访问WebService类的任何属性都将返回nullAs such, accessing any of the properties of the WebService class return null.

构造函数

SoapRpcMethodAttribute()

初始化 SoapRpcMethodAttribute 类的新实例,将所有属性都设置为其默认值。Initializes a new instance of the SoapRpcMethodAttribute class, setting all properties to their default values.

SoapRpcMethodAttribute(String)

初始化 SoapRpcMethodAttribute 类的新实例,并将 Action 属性设置为 action 参数的值。Initializes a new instance of the SoapRpcMethodAttribute class, setting the Action property to the value of the action parameter.

属性

Action

获取或设置 SOAP 请求的 SOAPActionHTTP 标头字段。Gets or sets the SOAPAction HTTP header field of the SOAP request.

Binding

获取或设置 XML Web services 方法为其实现操作的绑定。Gets or sets the binding that an XML Web service method implements an operation for.

OneWay

获取或设置 XML Web services 客户端是否等待 Web 服务器完成对 XML Web services 方法的处理。Gets or sets whether an XML Web service client waits for the Web server to finish processing an XML Web service method.

RequestElementName

获取或设置与 XML Web services 方法的 SOAP 请求关联的 XML 元素。Gets or sets the XML element associated with the SOAP request for an XML Web service method.

RequestNamespace

获取或设置与 XML Web services 方法的 SOAP 请求关联的 XML 命名空间。Gets or sets the XML namespace associated with the SOAP request for an XML Web service method.

ResponseElementName

获取或设置与 XML Web services 方法的 SOAP 响应关联的 XML 元素。Gets or sets the XML element associated with the SOAP response for an XML Web service method.

ResponseNamespace

获取或设置与 XML Web services 方法的 SOAP 响应关联的 XML 命名空间。Gets or sets the XML namespace associated with the SOAP response for an XML Web service method.

TypeId

在派生类中实现时,获取此 Attribute 的唯一标识符。When implemented in a derived class, gets a unique identifier for this Attribute.

(继承自 Attribute)
Use

获取或设置在调用该方法时所使用的绑定。Gets or sets the binding used when invoking the method.

方法

Equals(Object)

返回一个值,该值指示此实例是否与指定的对象相等。Returns a value that indicates whether this instance is equal to a specified object.

(继承自 Attribute)
GetHashCode()

返回此实例的哈希代码。Returns the hash code for this instance.

(继承自 Attribute)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
IsDefaultAttribute()

在派生类中重写时,指示此实例的值是否是派生类的默认值。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(继承自 Attribute)
Match(Object)

当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(继承自 Attribute)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ToString()

返回一个表示当前对象的 string。Returns a string that represents the current object.

(继承自 Object)

显式接口实现

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

将一组名称映射为对应的一组调度标识符。Maps a set of names to a corresponding set of dispatch identifiers.

(继承自 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。Retrieves the type information for an object, which can be used to get the type information for an interface.

(继承自 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(继承自 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供对某一对象公开的属性和方法的访问。Provides access to properties and methods exposed by an object.

(继承自 Attribute)

适用于

另请参阅