Freigeben über


HttpWebClientProtocol Klasse

Definition

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.

Weitere Informationen