WebClientProtocol WebClientProtocol WebClientProtocol WebClientProtocol Class

Definition

Gibt die Basisklasse für alle XML-Webdienst-Clientproxys an, die mit ASP.NET erstellt wurden.Specifies the base class for all XML Web service client proxies created using ASP.NET.

public ref class WebClientProtocol abstract : System::ComponentModel::Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class WebClientProtocol : System.ComponentModel.Component
type WebClientProtocol = class
    inherit Component
Public MustInherit Class WebClientProtocol
Inherits Component
Vererbung
Abgeleitet
Attribute

Beispiele

Das folgende Beispiel ist ein ASP.net Web Form, das einen XML-Webdienst namens Mathaufruft.The following example is an ASP.NET Web Form, which calls an XML Web service named Math. Innerhalb der EnterBtn_Click Funktion legt das Webformular Proxy Informationen und Client Anmelde Informationen für die Proxy Klasse vor dem Aufrufen der XML-Remote-Webdienst Methode fest.Within the EnterBtn_Click function, the Web Form sets proxy information and client credentials on the proxy class prior to calling the remote XML Web service method.

Wichtig

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen.This example has a text box that accepts user input, which is a potential security threat. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.For more information, see Script Exploits Overview.

<%@ 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();

             // Set the client-side credentials using the Credentials property.
             ICredentials credentials = new NetworkCredential("Joe","mydomain","password");
             math.Credentials = credentials;
             
             // Do not allow the server to redirect the request.
             math.AllowAutoRedirect = false;
             
             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()
            
            ' Set the client-side credentials using the Credentials property.
            Dim credentials As New NetworkCredential("Joe", "password", "mydomain")
            math.Credentials = credentials
            
            ' Do not allow the server to redirect the request.
            math.AllowAutoRedirect = False
            
            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 der WebClientProtocol -Klasse werden verwendet, um das Verhalten des Transports zu steuern, der zum Übertragen des XML-webService Request und der Antwort verwendet wird.The properties of the WebClientProtocol class are used to control the behavior of the transport used to transmit the XML Web service request and response. Die Eigenschaften dieser Klasse werden den Eigenschaften WebRequestin zugeordnet.The properties on this class map to properties found on WebRequest. Instanzen von Klassen, die WebRequestvon abgeleitet werden HttpWebRequest, z. b., werden als Transportmechanismus für XML-Webdienste verwendet, die mit ASP.NET erstellt wurden.Instances of classes deriving from WebRequest, such as HttpWebRequest, are used as the transport mechanism for XML Web services created using ASP.NET.

Für die Kommunikation mit einem XML-Webdienst müssen Sie eine Proxy Klasse erstellen, die indirekt oder WebClientProtocol direkt von für den XML-Webdienst abgeleitet wird, den Sie aufzurufen möchten.To communicate with an XML Web service, you must create a proxy class deriving indirectly or directly from WebClientProtocol for the XML Web service you want to call. Anstatt die Proxy Klasse manuell zu erstellen, können Sie das Tool WSDL. exe verwenden, um eine Proxy Klasse für die Dienst Beschreibung eines bestimmten XML-Webdiensts zu erstellen.Instead of creating the proxy class manually, you can use the Wsdl.exe tool to create a proxy class for a given XML Web service's service description. Da WebClientProtocol die Basisklasse für Ihren Client Proxy ist, finden Sie die zugehörigen Eigenschaften in Ihren Proxy Klassen.Since WebClientProtocol is the base class for your client proxy, you will find its properties on your proxy classes. Diese Eigenschaften sind nützlich, um das Anforderungs Verhalten des zugrunde liegenden Transports zu steuern.These properties are useful for controlling the request behavior of the underlying transport. Verwenden Sie beispielsweise die Credentials -Eigenschaft zum Aufrufen von authentifizierten XML-Webdiensten.For instance, use the Credentials property for calling authenticated XML Web services. Viele der WebRequest Eigenschaften werden verwendet, um das Objekt zu initialisieren, das zum Erstellen der Webanforderung verwendet wird. WebClientProtocolMany of the WebClientProtocol properties are used to initialize the WebRequest object that is used to make the Web request.

Konstruktoren

WebClientProtocol() WebClientProtocol() WebClientProtocol() WebClientProtocol()

Initialisiert eine neue Instanz der WebClientProtocol-Klasse.Initializes a new instance of the WebClientProtocol class.

Eigenschaften

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
ConnectionGroupName ConnectionGroupName ConnectionGroupName ConnectionGroupName

Ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest.Gets or sets the name of the connection group for the request.

Container Container Container Container

Ruft den IContainer ab, der die Component enthält.Gets the IContainer that contains the Component.

(Inherited from Component)
Credentials Credentials Credentials Credentials

Ruft Sicherheitsinformationen für die XML-Webdienst-Clientauthentifizierung ab oder legt diese fest.Gets or sets security credentials for XML Web service client authentication.

DesignMode DesignMode DesignMode DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate

Ruft ab oder legt fest, ob die Vorauthentifizierung aktiviert ist.Gets or sets whether pre-authentication is enabled.

RequestEncoding RequestEncoding RequestEncoding RequestEncoding

Die Encoding, die für die Clientanforderung an den XML-Webdienst verwendet wird.The Encoding used to make the client request to the XML Web service.

Site Site Site Site

Ruft den ISite von Component ab oder legt ihn fest.Gets or sets the ISite of the Component.

(Inherited from Component)
Timeout Timeout Timeout Timeout

Gibt die Zeitspanne an, die ein XML-Webdienstclient auf den Eingang einer Antwort auf eine synchrone XML-Webdienstanforderung wartet (in Millisekunden).Indicates the time an XML Web service client waits for the reply to a synchronous XML Web service request to arrive (in milliseconds).

Url Url Url Url

Ruft die Basis-URL des vom Client angeforderten XML-Webdiensts ab oder legt sie fest.Gets or sets the base URL of the XML Web service the client is requesting.

UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials

Ruft einen Wert ab, der angibt, ob die Credentials-Eigenschaft auf den Wert der DefaultCredentials-Eigenschaft festgelegt werden soll, oder legt diesen fest.Gets or sets a value that indicates whether to set the Credentials property to the value of the DefaultCredentials property.

Methoden

Abort() Abort() Abort() Abort()

Bricht eine Anforderung an eine XML-Webdienstmethode ab.Cancels a request to an XML Web service method.

AddToCache(Type, Object) AddToCache(Type, Object) AddToCache(Type, Object) AddToCache(Type, Object)

Fügen Sie dem Cache eine Instanz des Clientprotokollhandlers hinzu.Add an instance of the client protocol handler to the cache.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetFromCache(Type) GetFromCache(Type) GetFromCache(Type) GetFromCache(Type)

Ruft eine Instanz eines Clientprotokollhandlers aus dem Cache ab.Gets an instance of a client protocol handler from the cache.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
GetWebRequest(Uri) GetWebRequest(Uri) GetWebRequest(Uri) GetWebRequest(Uri)

Erstellt eine WebRequest-Instanz für den angegebenen uri.Creates a WebRequest instance for the specified uri. Diese geschützte Methode wird durch die XML-Webdienstclient-Infrastruktur aufgerufen, um zu veranlassen, dass ein neues WebRequest-Transportobjekt die XML-Webdienstanforderung überträgt.This protected method is called by the XML Web service client infrastructure to get a new WebRequest transport object to transmit the XML Web service request.

GetWebResponse(WebRequest) GetWebResponse(WebRequest) GetWebResponse(WebRequest) GetWebResponse(WebRequest)

Gibt eine Antwort von einer synchronen Anforderung an eine XML-Webdienstmethode zurück.Returns a response from a synchronous request to an XML Web service method.

GetWebResponse(WebRequest, IAsyncResult) GetWebResponse(WebRequest, IAsyncResult) GetWebResponse(WebRequest, IAsyncResult) GetWebResponse(WebRequest, IAsyncResult)

Gibt eine Antwort von einer asynchronen Anforderung an eine XML-Webdienstmethode zurück.Returns a response from an asynchronous request to an XML Web service method. Diese geschützte Methode wird durch die XML-Webdienstclient-Infrastruktur aufgerufen, um die Antwort von einer asynchronen XML-Webdienstanforderung zu erhalten.This protected method is called by the XML Web service client infrastructure to get the response from an asynchronous XML Web service request.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString() ToString() ToString() ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden).Returns a String containing the name of the Component, if any. Diese Methode darf nicht überschrieben werden.This method should not be overridden.

(Inherited from Component)

Ereignisse

Disposed Disposed Disposed Disposed

Tritt ein, wenn die Komponente durch einen Aufruf der Dispose()-Methode freigegeben wird.Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Gilt für:

Threadsicherheit

Die Eigenschaften dieser Klasse werden in eine neue Instanz eines WebRequest -Objekts für jeden XML-Webdienst-Methodenaufrufe kopiert.The properties on this class are copied into a new instance of a WebRequest object for each XML Web service method call. Obwohl Sie XML-Webdienst Methoden gleichzeitig auf derselben WebClientProtocol Instanz von verschiedenen Threads aus abrufen können, wird keine Synchronisierung durchgeführt, um sicherzustellen, dass eine konsistente Momentaufnahme der Eigenschaften an das WebRequest Objekt übertragen wird.While you can call XML Web service methods on the same WebClientProtocol instance from different threads at the same time, there is no synchronization done to ensure that a consistent snapshot of the properties will get transferred to the WebRequest object. Wenn Sie die Eigenschaften ändern und gleichzeitige Methodenaufrufe aus unterschiedlichen Threads ausführen müssen, sollten Sie daher eine andere Instanz des XML-Webdienst Proxys verwenden oder eine eigene Synchronisierung bereitstellen.Therefore if you need to modify the properties and make concurrent method calls from different threads you should use a different instance of the XML Web service proxy or provide your own synchronization.

Siehe auch