HttpWebClientProtocol Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Basisklasse für alle XML-Webdienstclientproxys dar, die das HTTP-Transportprotokoll verwenden.
public ref class HttpWebClientProtocol abstract : System::Web::Services::Protocols::WebClientProtocol
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
type HttpWebClientProtocol = class
inherit WebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpWebClientProtocol = class
inherit WebClientProtocol
Public MustInherit Class HttpWebClientProtocol
Inherits WebClientProtocol
- Vererbung
- Abgeleitet
- Attribute
Beispiele
Das folgende Beispiel ist ein ASP.NET Webformular, das einen XML-Webdienst mit dem Namen Mathaufruft. Innerhalb der EnterBtn_Click Funktion ermöglicht das Webformular dem Server, den Client automatisch an andere Websites umzuleiten. Außerdem werden Clientauthentifizierungsanmeldeinformationen, Proxyeinstellungen, die Anforderungscodierung und das Timeout für die Anforderung festgelegt, bevor die XML-Webdienstmethode aufgerufen wird.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E)
{
MyMath.Math math = new MyMath.Math();
// Allow the server to redirect the request.
math.AllowAutoRedirect = true;
// Set the client-side credentials using the Credentials property.
ICredentials credentials =
new NetworkCredential("Joe","password","mydomain");
math.Credentials = credentials;
// Set the proxy server to proxyserver, set the port to 80, and specify to bypass
// the proxy server for local addresses.
IWebProxy proxyObject = new WebProxy("http://proxyserver:80",true);
math.Proxy = proxyObject;
// Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8;
// Set the time out to 15 seconds
math.Timeout = 15000;
int total = math.Add(Convert.ToInt32(Num1.Text),
Convert.ToInt32(Num2.Text));
Total.Text = "Total: " + total.ToString();
}
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(Src As Object, E As EventArgs)
Dim math As New MyMath.Math()
' Allow the server to redirect the request.
math.AllowAutoRedirect = True
' Set the client-side credentials using the Credentials property.
Dim credentials = New NetworkCredential("Joe", "password", "mydomain")
math.Credentials = credentials
' Set the proxy server to proxyserver, set the port to 80 and specify to bypass
' the proxy server for local addresses.
Dim proxyObject = New WebProxy("http://proxyserver:80", True)
math.Proxy = proxyObject
' Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8
' Set the time out to 15 seconds.
math.Timeout = 15000
Dim iTotal As Integer = math.Add(Convert.ToInt32(Num1.Text), _
Convert.ToInt32(Num2.Text))
Total.Text = "Total: " & iTotal.ToString()
End Sub
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
Hinweise
Die Eigenschaften dieser Klasse werden verwendet, um das Verhalten des HTTP-Anforderungsobjekts zu steuern, das zum Übertragen der XML-Webdienstanforderung und -antwort verwendet wird. Die Eigenschaften werden eigenschaften zugeordnet, die auf HttpWebRequest.
Um mit einem XML-Webdienst mit HTTP zu kommunizieren, müssen Sie eine Proxyklasse erstellen, die indirekt oder direkt vom XML-Webdienst abgeleitet HttpWebClientProtocol wird. Anstatt die Proxyklasse manuell zu erstellen, können Sie das Wsdl.exe Tool verwenden, um eine Proxyklasse für die Dienstbeschreibung eines bestimmten XML-Webdiensts zu erstellen.
Da HttpWebClientProtocol die Basisklasse für alle Proxyklassen ist, befinden sich ihre Eigenschaften in Ihren Proxyklassen. Diese Eigenschaften sind nützlich, um das Anforderungsverhalten des zugrunde liegenden Transports zu steuern. Verwenden Sie beispielsweise die Eigenschaft zum Aufrufen von Proxy XML-Webdiensten über eine Firewall. Viele dieser Eigenschaften werden verwendet, um die HttpWebRequest Webanforderung zu initialisieren.
SoapHttpClientProtocol, HttpGetClientProtocolund HttpPostClientProtocol leiten sie direkt oder indirekt von HttpWebClientProtocol der Unterstützung für SOAP, HTTP-GET bzw. HTTP-POST ab.
Konstruktoren
| Name | Beschreibung |
|---|---|
| HttpWebClientProtocol() |
Initialisiert eine neue Instanz der HttpWebClientProtocol-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AllowAutoRedirect |
Ruft ab oder legt fest, ob der Client automatisch Serverumleitungen folgt. |
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| ClientCertificates |
Ruft die Sammlung von Clientzertifikaten ab. |
| ConnectionGroupName |
Dient zum Abrufen oder Festlegen des Namens der Verbindungsgruppe für die Anforderung. (Geerbt von WebClientProtocol) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| CookieContainer |
Ruft die Sammlung von Cookies ab oder legt sie fest. |
| Credentials |
Ruft Sicherheitsanmeldeinformationen für die XML-Webdienstclientauthentifizierung ab oder legt diese fest. (Geerbt von WebClientProtocol) |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| EnableDecompression |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Dekomprimierung für diese HttpWebClientProtocolOption aktiviert ist. |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| PreAuthenticate |
Ruft ab oder legt fest, ob die Vorauthentifizierung aktiviert ist. (Geerbt von WebClientProtocol) |
| Proxy |
Dient zum Abrufen oder Festlegen von Proxyinformationen zum Erstellen einer XML-Webdienstanforderung über eine Firewall. |
| RequestEncoding |
Wird Encoding verwendet, um die Clientanforderung an den XML-Webdienst zu senden. (Geerbt von WebClientProtocol) |
| Site |
Dient zum ISite Abrufen oder Festlegen des Werts des Component. (Geerbt von Component) |
| Timeout |
Gibt an, wie lange ein XML-Webdienstclient auf die Antwort auf eine synchrone XML-Webdienstanforderung wartet (in Millisekunden). (Geerbt von WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Verbindungsfreigabe aktiviert ist, wenn der Client die NTLM-Authentifizierung verwendet, um eine Verbindung mit dem Webserver herzustellen, der den XML-Webdienst hostt. |
| Url |
Ruft die Basis-URL des XML-Webdiensts ab, den der Client anfordert, oder legt diese fest. (Geerbt von WebClientProtocol) |
| UseDefaultCredentials |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Credentials Eigenschaft auf den Wert der DefaultCredentials Eigenschaft festgelegt werden soll. (Geerbt von WebClientProtocol) |
| UserAgent |
Dient zum Abrufen oder Festlegen des Werts für den Benutzer-Agent-Header, der mit jeder Anforderung gesendet wird. |
Methoden
| Name | Beschreibung |
|---|---|
| Abort() |
Bricht eine Anforderung an eine XML-Webdienstmethode ab. (Geerbt von WebClientProtocol) |
| CancelAsync(Object) |
Bricht einen asynchronen Aufruf einer XML-Webdienstmethode ab, es sei denn, der Aufruf wurde bereits abgeschlossen. |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. (Geerbt von Component) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GenerateXmlMappings(Type, ArrayList) |
Ruft die XmlMembersMapping für jede XML-Webdienstmethode, die vom angegebenen Typ verfügbar gemacht wird, ab und speichert die Zuordnungen in der angegebenen ArrayList. |
| GenerateXmlMappings(Type[], ArrayList) |
Ruft die XmlMembersMapping für jede XML-Webdienstmethode, die von den angegebenen Typen verfügbar gemacht wird, ab und speichert die Zuordnungen im angegebenen ArrayList, sowie in einer Hashtable , die diese Methode zurückgibt. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetWebRequest(Uri) |
Erstellt einen WebRequest für den angegebenen URI. |
| GetWebResponse(WebRequest, IAsyncResult) |
Gibt eine Antwort von einer asynchronen Anforderung an eine XML-Webdienstmethode zurück. |
| GetWebResponse(WebRequest) |
Gibt eine Antwort von einer synchronen Anforderung an eine XML-Webdienstmethode zurück. |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| ToString() |
Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden. (Geerbt von Component) |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |
Gilt für:
Threadsicherheit
Die Eigenschaften dieser Klasse werden in eine neue Instanz eines WebRequest Objekts für jeden XML-Webdienstmethodenaufruf kopiert. Sie können zwar XML-Webdienstmethoden für dieselbe WebClientProtocol Instanz aus verschiedenen Threads gleichzeitig aufrufen, es ist jedoch keine Synchronisierung erfolgt, um sicherzustellen, dass eine konsistente Momentaufnahme der Eigenschaften an das WebRequest Objekt übertragen wird. Wenn Sie daher die Eigenschaften ändern und gleichzeitige Methodenaufrufe aus verschiedenen Threads ausführen müssen, sollten Sie eine andere Instanz des XML-Webdienstproxys verwenden oder eine eigene Synchronisierung bereitstellen.