导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

HttpMethodAttribute 类

如果使用 HTTP-GET 或 HTTP-POST 将此特性应用于 XML Web services 客户端,则可设置特定的类型,它们对发送到 XML Web services 方法的参数进行序列化并从 XML Web services 方法读取响应。 此类不能被继承。

System.Object
  System.Attribute
    System.Web.Services.Protocols.HttpMethodAttribute

命名空间:  System.Web.Services.Protocols
程序集:  System.Web.Services(在 System.Web.Services.dll 中)

声明
<AttributeUsageAttribute(AttributeTargets.Method)> _
Public NotInheritable Class HttpMethodAttribute _
	Inherits Attribute

HttpMethodAttribute 类型公开以下成员。

  名称说明
公共方法HttpMethodAttribute初始化 HttpMethodAttribute 类的新实例。
公共方法HttpMethodAttribute(Type, Type)初始化 HttpMethodAttribute 的新实例。
页首

  名称说明
公共属性ParameterFormatter获取或设置一个 Type,它对从 XML Web services 客户端发送到 XML Web services 方法的参数进行序列化。
公共属性ReturnFormatter获取或设置一个 Type,它对来自 XML Web services 方法的响应进行反序列化。
公共属性TypeId当在派生类中实现时,获取该 Attribute 的唯一标识符。 (继承自 Attribute。)
页首

  名称说明
公共方法Equals基础结构。返回一个值,该值指示此实例是否与指定的对象相等。 (继承自 Attribute。)
公共方法GetHashCode返回此实例的哈希代码。 (继承自 Attribute。)
公共方法GetType获取当前实例的 Type (继承自 Object。)
公共方法IsDefaultAttribute当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。)
公共方法Match当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。)
公共方法ToString返回表示当前对象的字符串。 (继承自 Object。)
页首

  名称说明
显式接口实现私有方法_Attribute.GetIDsOfNames将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。)
显式接口实现私有方法_Attribute.GetTypeInfo检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。)
显式接口实现私有方法_Attribute.GetTypeInfoCount检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。)
显式接口实现私有方法_Attribute.Invoke提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。)
页首

如果 XML Web services 客户端使用 HTTP-GET 调用 XML Web services 方法,则 ReturnFormatter 必须设置为 XmlReturnReaderParameterFormatter 必须设置为 UrlParameterWriter 使用 HTTP-POST 调用 XML Web services 的 XML Web services 客户端必须将 ReturnFormatter 设置为 XmlReturnReader 并将 ParameterFormatter 设置为 HtmlFormParameterWriter

下面的示例是由 Wsdl.exe 实用工具生成的一个代理类,该类用于通过 HTTP-POST 调用 XML Web services 实用工具。 Wsdl.exe 自动为 ReturnFormatterParameterFormatter 提供正确的类型,并指定该代理类从 HttpPostClientProtocol 继承。


Public Class MyUser
    Inherits System.Web.Services.Protocols.HttpPostClientProtocol


    Public Sub New()
        Me.Url = "http://www.contoso.com/username.asmx"
    End Sub 'New

    <HttpMethodAttribute(GetType(XmlReturnReader), GetType(HtmlFormParameterWriter))> _
    Public Function GetUserName() As UserName
        Return CType(Me.Invoke("GetUserName", Me.Url + "/GetUserName", New Object(0) {}), UserName)
    End Function 'GetUserName


    Public Function BeginGetUserName(callback As System.AsyncCallback, asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("GetUserName", Me.Url + "/GetUserName", New Object(0) {}, callback, asyncState)
    End Function 'BeginGetUserName


    Public Function EndGetUserName(asyncResult As System.IAsyncResult) As UserName
        Return CType(Me.EndInvoke(asyncResult), UserName)
    End Function 'EndGetUserName
End Class 'MyUser

<XmlRootAttribute(Namespace := "http://tempuri.org/", IsNullable := True)> _
Public Class UserName
    Public Name As String
    Public Domain As String

End Class 'UserName


.NET Framework

受以下版本支持:4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参阅.NET Framework 系统要求

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

社区附加资源

添加
显示:
© 2014 Microsoft