HttpWebClientProtocol Klasse

Definition

Stellt die Basisklasse für alle XML-Webdienst-Clientproxys, die das HTTP-Übertragungsprotokoll 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 namens Mathaufruft. Innerhalb der EnterBtn_Click Funktion ermöglicht das Webformular dem Server, den Client automatisch an andere Standorte umzuleiten. Außerdem werden Anmeldeinformationen für die Clientauthentifizierung, Proxyeinstellungen, die Anforderungscodierung und das Timeout für die Anforderung vor dem Aufruf der XML-Webdienstmethode festgelegt.

<%@ 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 gefunden wurden HttpWebRequest.

Um mit einem XML-Webdienst über HTTP kommunizieren zu können, müssen Sie eine Proxyklasse erstellen, die indirekt oder direkt von HttpWebClientProtocol für den XML-Webdienst abgeleitet wird. Anstatt die Proxyklasse manuell zu erstellen, können Sie das tool Wsdl.exe 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 die Eigenschaften in Ihren Proxyklassen. Diese Eigenschaften sind nützlich, um das Anforderungsverhalten des zugrunde liegenden Transports zu steuern. Verwenden Sie beispielsweise die Proxy -Eigenschaft zum Aufrufen von XML-Webdiensten über eine Firewall. Viele dieser Eigenschaften werden verwendet, um die zu initialisieren, die HttpWebRequest die Webanforderung stellt.

SoapHttpClientProtocol, HttpGetClientProtocol, und HttpPostClientProtocol leiten Sie direkt oder indirekt von HttpWebClientProtocol zur Unterstützung von SOAP, HTTP-GET und HTTP-POST bzw.

Konstruktoren

HttpWebClientProtocol()

Initialisiert eine neue Instanz der HttpWebClientProtocol-Klasse.

Eigenschaften

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 Auflistung von Clientzertifikaten ab.

ConnectionGroupName

Ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest.

(Geerbt von WebClientProtocol)
Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
CookieContainer

Ruft die Auflistung der Cookies ab oder legt diese fest.

Credentials

Ruft Sicherheitsinformationen für die XML-Webdienst-Clientauthentifizierung ab oder legt diese fest.

(Geerbt von WebClientProtocol)
DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
EnableDecompression

Ruft einen Wert ab, der angibt, ob die Dekomprimierung für dieses HttpWebClientProtocol aktiviert ist, oder legt den Wert fest.

Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
PreAuthenticate

Ruft ab oder legt fest, ob die Vorauthentifizierung aktiviert ist.

(Geerbt von WebClientProtocol)
Proxy

Ruft die Proxyinformationen zum Erstellen einer XML-Webdienstanforderung über einen Firewall ab oder legt sie fest.

RequestEncoding

Die Encoding, die für die Clientanforderung an den XML-Webdienst verwendet wird.

(Geerbt von WebClientProtocol)
Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
Timeout

Gibt die Zeitspanne an, die ein XML-Webdienstclient auf den Eingang einer Antwort auf eine synchrone XML-Webdienstanforderung wartet (in Millisekunden).

(Geerbt von WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Freigabe von Verbindungen aktiviert ist, wenn der Client für die Herstellung einer Verbindung mit dem Webserver, auf dem der XML-Webdienst gespeichert ist, die NTLM-Authentifizierung verwendet.

Url

Ruft die Basis-URL des vom Client angeforderten XML-Webdiensts ab oder legt sie fest.

(Geerbt von WebClientProtocol)
UseDefaultCredentials

Ruft einen Wert ab, der angibt, ob die Credentials-Eigenschaft auf den Wert der DefaultCredentials-Eigenschaft festgelegt werden soll, oder legt diesen fest.

(Geerbt von WebClientProtocol)
UserAgent

Ruft den mit jeder Anforderung gesendeten Wert für den User-Agent-Header ab oder legt diesen fest.

Methoden

Abort()

Bricht eine Anforderung an eine XML-Webdienstmethode ab.

(Geerbt von WebClientProtocol)
CancelAsync(Object)

Bricht einen asynchronen Aufruf der XML-Webdienstmethode ab, es sei denn, der Aufruf ist bereits abgeschlossen.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GenerateXmlMappings(Type, ArrayList)

Ruft das XmlMembersMapping für jede vom angegeben Typ verfügbar gemachte XML-Webdienstmethode ab und speichert die Zuordnungen in der angegebenen ArrayList.

GenerateXmlMappings(Type[], ArrayList)

Ruft das XmlMembersMapping für die einzelnen von den angegebenen Typen verfügbar gemachten XML-Webdienstmethoden ab und speichert die Zuordnungen sowohl in der angegebenen ArrayList als auch in einer von dieser Methode zurückgegebenen Hashtable.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetWebRequest(Uri)

Erstellt eine WebRequest für den angegebenen URI.

GetWebResponse(WebRequest)

Gibt eine Antwort von einer synchronen Anforderung an eine XML-Webdienstmethode zurück.

GetWebResponse(WebRequest, IAsyncResult)

Gibt eine Antwort von einer asynchronen Anforderung an eine XML-Webdienstmethode zurück.

InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)

Gilt für:

Threadsicherheit

Die Eigenschaften dieser Klasse werden für jeden AUFRUF der XML-Webdienstmethode in eine neue Instanz eines WebRequest -Objekts kopiert. Sie können zwar XML-Webdienstmethoden für dieselbe WebClientProtocol Instanz aus verschiedenen Threads gleichzeitig aufrufen, es erfolgt jedoch keine Synchronisierung, um sicherzustellen, dass eine konsistente Momentaufnahme der Eigenschaften in das WebRequest Objekt übertragen wird. Wenn Sie daher die Eigenschaften ändern und gleichzeitige Methodenaufrufe von verschiedenen Threads ausführen müssen, sollten Sie eine andere Instanz des XML-Webdienstproxys verwenden oder eine eigene Synchronisierung bereitstellen.

Weitere Informationen