HttpSimpleClientProtocol 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于使用简单的 HTTP-GET 和 HTTP-POST 协议绑定与 XML Web services 进行通信的基类。
public ref class HttpSimpleClientProtocol abstract : System::Web::Services::Protocols::HttpWebClientProtocol
public abstract class HttpSimpleClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpSimpleClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
type HttpSimpleClientProtocol = class
inherit HttpWebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpSimpleClientProtocol = class
inherit HttpWebClientProtocol
Public MustInherit Class HttpSimpleClientProtocol
Inherits HttpWebClientProtocol
- 继承
-
HttpSimpleClientProtocol
- 派生
- 属性
示例
下面的代码示例是由以下 XML Web 服务Wsdl.exe Math
生成的代理类。 代理类派生自HttpGetClientProtocolHttpSimpleClientProtocol抽象类。
#using <System.Web.Services.dll>
#using <System.Xml.dll>
#using <System.dll>
using namespace System::Diagnostics;
using namespace System::Xml::Serialization;
using namespace System;
using namespace System::Web::Services::Protocols;
using namespace System::Web::Services;
public ref class MyMath: public System::Web::Services::Protocols::HttpGetClientProtocol
{
public:
[System::Diagnostics::DebuggerStepThroughAttribute]
MyMath()
{
this->Url = "http://www.contoso.com/math.asmx";
}
[System::Diagnostics::DebuggerStepThroughAttribute]
[System::Web::Services::Protocols::HttpMethodAttribute(System::Web::Services::Protocols::XmlReturnReader::typeid,
System::Web::Services::Protocols::UrlParameterWriter::typeid)]
[returnvalue:System::Xml::Serialization::XmlRootAttribute("snippet1>",Namespace="http://www.contoso.com/",IsNullable=false)]
int Add( String^ num1, String^ num2 )
{
array<Object^>^temp0 = {num1,num2};
return *dynamic_cast<int^>(this->Invoke( "Add", (String::Concat( this->Url, "/Add" )), temp0 ));
}
[System::Diagnostics::DebuggerStepThroughAttribute]
System::IAsyncResult^ BeginAdd( String^ num1, String^ num2, System::AsyncCallback^ callback, Object^ asyncState )
{
array<Object^>^temp1 = {num1,num2};
return this->BeginInvoke( "Add", (String::Concat( this->Url, "/Add" )), temp1, callback, asyncState );
}
[System::Diagnostics::DebuggerStepThroughAttribute]
int EndAdd( System::IAsyncResult^ asyncResult )
{
return *dynamic_cast<int^>(this->EndInvoke( asyncResult ));
}
};
using System.Diagnostics;
using System.Xml.Serialization;
using System;
using System.Web.Services.Protocols;
using System.Web.Services;
public class MyMath : System.Web.Services.Protocols.HttpGetClientProtocol {
[System.Diagnostics.DebuggerStepThroughAttribute()]
public MyMath()
{
this.Url = "http://www.contoso.com/math.asmx";
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.Web.Services.Protocols.HttpMethodAttribute(typeof(System.Web.Services.Protocols.XmlReturnReader), typeof(System.Web.Services.Protocols.UrlParameterWriter))]
[return: System.Xml.Serialization.XmlRootAttribute("int", Namespace = "http://www.contoso.com/", IsNullable = false)]
public int Add(string num1, string num2)
{
return ((int)(this.Invoke("Add", (this.Url + "/Add"),
new object[] { num1, num2 })));
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
public System.IAsyncResult BeginAdd(string num1, string num2, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("Add", (this.Url + "/Add"),
new object[] { num1, num2 }, callback, asyncState);
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
public int EndAdd(System.IAsyncResult asyncResult)
{
return ((int)(this.EndInvoke(asyncResult)));
}
}
Option Strict On
Option Explicit On
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
Public Class MyMath
Inherits System.Web.Services.Protocols.HttpGetClientProtocol
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New
Me.Url = "http://www.contoso.com/math.asmx"
End Sub
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.Web.Services.Protocols.HttpMethodAttribute(GetType(System.Web.Services.Protocols.XmlReturnReader), GetType(System.Web.Services.Protocols.UrlParameterWriter))> _
Public Function Add(ByVal num1 As String, ByVal num2 As String) As <System.Xml.Serialization.XmlRootAttribute("int", [Namespace]:="http://www.contoso.com/", IsNullable:=false)> Integer
Return CType(Me.Invoke("Add", (Me.Url + "/Add"), New Object() {num1, num2}),Integer)
End Function
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Function BeginAdd(ByVal num1 As String, ByVal num2 As String, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
Return Me.BeginInvoke("Add", (Me.Url + "/Add"), New Object() {num1, num2}, callback, asyncState)
End Function
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer
Return CType(Me.EndInvoke(asyncResult),Integer)
End Function
End Class
下面的代码示例是 Math
创建上述代理类的 XML Web 服务。
#using <System.EnterpriseServices.dll>
#using <System.Web.Services.dll>
using namespace System::Web::Services;
using namespace System;
public ref class Math
{
public:
[WebMethod]
int Add( int num1, int num2 )
{
return num1 + num2;
}
};
using System.Web.Services;
using System;
public class Math
{
[WebMethod]
public int Add(int num1, int num2)
{
return num1 + num2;
}
}
Imports System.Web.Services
Public Class Math
<WebMethod()> _
Public Function Add(num1 As Integer, num2 As Integer)As Integer
Return num1 + num2
End Function
End Class
注解
此类指定通过 HTTP 与 XML Web 服务通信的大多数实现,这些实现使用编码器对参数进行编码并将值返回为常见的 MIME 格式。 这些编码器派生自 MimeFormatter 类。 默认情况下,派生自 HttpSimpleClientProtocol 使用 application/x-www-form-urlencoded MIME 类型和纯 XML 响应的代理类对参数进行编码。 可以使用属性指定 HttpMethodAttribute 自定义 mime 格式化程序,但是,不支持将其集成到服务说明和代理生成中。
Notes to Inheritors:
重写此类时,可以在派生类中引入特定于特定类型的 XML Web 服务的方法。 这些方法只是捕获参数,并调用基类来执行与站点通信的工作。 如果引入的方法是异步的,则调用 BeginInvoke 和 EndInvoke 方法。 如果引入的方法是同步的,请调用该方法 Invoke 。 重写的构造函数通常将 Url 属性设置为 XML Web 服务方法的 URI。
Web 服务描述语言工具 (Wsdl.exe) 为给定服务说明生成派生类 HttpSimpleClientProtocol 。
构造函数
HttpSimpleClientProtocol() |
初始化 HttpSimpleClientProtocol 类的新实例。 |
属性
AllowAutoRedirect |
获取或设置客户端是否自动跟随服务器重定向。 (继承自 HttpWebClientProtocol) |
CanRaiseEvents |
获取一个指示组件是否可以引发事件的值。 (继承自 Component) |
ClientCertificates |
获取客户证书集合。 (继承自 HttpWebClientProtocol) |
ConnectionGroupName |
获取或设置请求的连接组的名称。 (继承自 WebClientProtocol) |
Container |
获取包含 IContainer 的 Component。 (继承自 Component) |
CookieContainer |
获取或设置 Cookie 集合。 (继承自 HttpWebClientProtocol) |
Credentials |
获取或设置 XML Web services 客户端身份验证的安全凭据。 (继承自 WebClientProtocol) |
DesignMode |
获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component) |
EnableDecompression |
获取或设置一个值,该值指示是否为此 HttpWebClientProtocol 启用压缩。 (继承自 HttpWebClientProtocol) |
Events |
获取附加到此 Component 的事件处理程序的列表。 (继承自 Component) |
PreAuthenticate |
获取或设置是否启用了预身份验证。 (继承自 WebClientProtocol) |
Proxy |
获取或设置用于通过防火墙进行 XML Web services 请求的代理信息。 (继承自 HttpWebClientProtocol) |
RequestEncoding |
用于对 XML Web services 发出客户端请求的 Encoding。 (继承自 WebClientProtocol) |
Site | (继承自 Component) |
Timeout |
指示 XML Web services 客户端等待同步 XML Web services 请求完成的时间(以毫秒计)的回复。 (继承自 WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
获取或设置一个值,它指示客户端使用 NTLM 身份验证连接到承载 XML Web services 的 Web 服务器时,是否启用连接共享。 (继承自 HttpWebClientProtocol) |
Url |
获取或设置客户端正在请求的 XML Web services 的基 URL。 (继承自 WebClientProtocol) |
UseDefaultCredentials |
获取或设置一个值,该值指示是否将 Credentials 属性设置为 DefaultCredentials 属性的值。 (继承自 WebClientProtocol) |
UserAgent |
获取或设置随每个请求发送的用户代理标头的值。 (继承自 HttpWebClientProtocol) |
方法
事件
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |
适用于
线程安全性
此类型是线程安全的。