HttpGetClientProtocol-Klasse
Die Basisklasse für XML-Webdienst-Clientproxys, die das HTTP-GET-Protokoll verwenden.
Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)
Syntax
'Declaration
Public Class HttpGetClientProtocol
Inherits HttpSimpleClientProtocol
'Usage
Dim instance As HttpGetClientProtocol
public class HttpGetClientProtocol : HttpSimpleClientProtocol
public ref class HttpGetClientProtocol : public HttpSimpleClientProtocol
public class HttpGetClientProtocol extends HttpSimpleClientProtocol
public class HttpGetClientProtocol extends HttpSimpleClientProtocol
Hinweise
Wenn ein XML-Webdienstclient das HTTP-GET-Protokoll verwendet, werden Parameter innerhalb des URL codiert, und die Antwort wird in reinem XML zurückgegeben.
Wenn Sie einen XML-Webdienstclient unter Verwendung von ASP.NET erstellen, muss für den aufzurufenden XML-Webdienst eine Proxyklasse erstellt werden, die direkt oder indirekt von WebClientProtocol abgeleitet ist. Wenn der XML-Webdienstclient den XML-Webdienst unter Verwendung von HTTP aufruft, muss die Proxyklasse vom HttpSimpleClientProtocol abgeleitet werden, das seinerseits eine Ableitung des WebClientProtocol ist.
HttpGetClientProtocol und HttpPostClientProtocol sind vom HttpSimpleClientProtocol abgeleitet und stellen die Unterstützung für das Aufrufen einer XML-Webdienstmethode unter Verwendung von HTTP-GET bzw. HTTP-POST bereit. Clients, die einen XML-Webdienst mit SOAP aufrufen, werden vom SoapHttpClientProtocol abgleitet.
Ausführliche Informationen zum Erstellen einer Proxyklasse finden Sie unter Erstellen eines XML-Webdienstproxys.
Beispiel
Die Proxyklasse im folgenden Beispiel wird vom Dienstprogramm Wsdl.exe für den unten aufgeführten Math
-XML-Webdienst generiert. Die Proxyklasse wird vom HttpGetClientProtocol abgeleitet, das wiederum von der abstrakten HttpSimpleClientProtocol-Klasse abgeleitet ist.
Option Strict On
Option Explicit On
Imports System
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 = "https://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]:="https://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
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 = "https://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="https://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)));
}
}
#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 = "https://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="https://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 ));
}
};
import System.Diagnostics.*;
import System.Xml.Serialization.*;
import System.*;
import System.Web.Services.Protocols.*;
import System.Web.Services.*;
public class MyMath extends System.Web.Services.Protocols.HttpGetClientProtocol
{
/** @attribute System.Diagnostics.DebuggerStepThroughAttribute()
*/
public MyMath()
{
this.set_Url("https://www.contoso.com/math.asmx");
} //MyMath
/** @attribute System.Diagnostics.DebuggerStepThroughAttribute()
*/
/** @attribute System.Web.Services.Protocols.HttpMethodAttribute
(System.Web.Services.Protocols.XmlReturnReader.class,
System.Web.Services.Protocols.UrlParameterWriter.class)
*/
public int Add(String num1, String num2)
{
return Integer.parseInt(System.Convert.ToString(
this.Invoke("Add", this.get_Url() + "/Add",
new Object[]{num1, num2})));
} //Add
/** @attribute System.Diagnostics.DebuggerStepThroughAttribute()
*/
public System.IAsyncResult BeginAdd(String num1, String num2,
System.AsyncCallback callback, Object asyncState)
{
return this.BeginInvoke("Add", this.get_Url() + "/Add",
new Object[]{num1, num2}, callback, asyncState) ;
} //BeginAdd
/** @attribute System.Diagnostics.DebuggerStepThroughAttribute()
*/
public int EndAdd(System.IAsyncResult asyncResult)
{
return Integer.parseInt(System.Convert.ToString(
this.EndInvoke(asyncResult))) ;
} //EndAdd
} //MyMath
Das folgende Beispiel ist der Math
-XML-Webdienst, aus dem die oben stehende Proxyklasse erstellt wurde.
<%@ WebService Language="VB" Class="Math"%>
Imports System.Web.Services
Imports System
Public Class Math
<WebMethod()> _
Public Function Add(num1 As Integer, num2 As Integer) As Integer
Return num1 + num2
End Function 'Add
End Class 'Math
<%@ WebService Language="C#" Class="Math"%>
using System.Web.Services;
using System;
public class Math {
[ WebMethod ]
public int Add(int num1, int num2) {
return num1+num2;
}
}
<%@ WebService Language="VJ#" Class="Math"%>
import System.Web.Services.*;
import System.*;
public class Math
{
/** @attribute WebMethod()
*/
public int Add(int num1, int num2)
{
return num1 + num2 ;
} //Add
} //Math
Vererbungshierarchie
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Web.Services.Protocols.WebClientProtocol
System.Web.Services.Protocols.HttpWebClientProtocol
System.Web.Services.Protocols.HttpSimpleClientProtocol
System.Web.Services.Protocols.HttpGetClientProtocol
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
HttpGetClientProtocol-Member
System.Web.Services.Protocols-Namespace
HttpSimpleClientProtocol
WebClientProtocol
HttpPostClientProtocol
SoapHttpClientProtocol