WebClientProtocol Clase

Definición

Especifica la clase base para todos los proxies de cliente de servicios Web XML creados mediante ASP.NET.Specifies the base class for all XML Web service client proxies created using ASP.NET.

public ref class WebClientProtocol abstract : System::ComponentModel::Component
public abstract class WebClientProtocol : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class WebClientProtocol : System.ComponentModel.Component
type WebClientProtocol = class
    inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClientProtocol = class
    inherit Component
Public MustInherit Class WebClientProtocol
Inherits Component
Herencia
WebClientProtocol
Derivado
Atributos

Ejemplos

El ejemplo siguiente es un formulario Web ASP.NET, que llama a un servicio Web XML denominado Math .The following example is an ASP.NET Web Form, which calls an XML Web service named Math. Dentro de la EnterBtn_Click función, el formulario Web Forms establece la información de proxy y las credenciales de cliente en la clase de proxy antes de llamar al método de servicios Web XML remoto.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.

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad.This example has a text box that accepts user input, which is a potential security threat. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para más información, consulte Información general sobre los ataques mediante scripts.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>

Comentarios

Las propiedades de la WebClientProtocol clase se utilizan para controlar el comportamiento del transporte utilizado para transmitir la solicitud y la respuesta del servicio Web XML.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. Las propiedades de esta clase se asignan a las propiedades que se encuentran en WebRequest .The properties on this class map to properties found on WebRequest. Las instancias de clases que derivan de WebRequest , como HttpWebRequest , se usan como mecanismo de transporte para los servicios Web XML creados mediante ASP.net.Instances of classes deriving from WebRequest, such as HttpWebRequest, are used as the transport mechanism for XML Web services created using ASP.NET.

Para comunicarse con un servicio Web XML, debe crear una clase de proxy que derive indirectamente o directamente de WebClientProtocol para el servicio Web XML al que desea llamar.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. En lugar de crear la clase de proxy manualmente, puede usar la herramienta Wsdl.exe para crear una clase de proxy para la descripción de servicio de un servicio Web XML determinado.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. Dado que WebClientProtocol es la clase base para el proxy de cliente, encontrará sus propiedades en las clases de proxy.Since WebClientProtocol is the base class for your client proxy, you will find its properties on your proxy classes. Estas propiedades son útiles para controlar el comportamiento de las solicitudes del transporte subyacente.These properties are useful for controlling the request behavior of the underlying transport. Por ejemplo, utilice la Credentials propiedad para llamar a servicios Web XML autenticados.For instance, use the Credentials property for calling authenticated XML Web services. Muchas de las WebClientProtocol propiedades se utilizan para inicializar el WebRequest objeto que se utiliza para hacer la solicitud Web.Many of the WebClientProtocol properties are used to initialize the WebRequest object that is used to make the Web request.

Constructores

WebClientProtocol()

Inicializa una nueva instancia de la clase WebClientProtocol.Initializes a new instance of the WebClientProtocol class.

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Heredado de Component)
ConnectionGroupName

Obtiene o establece el nombre del grupo de conexiones para la solicitud.Gets or sets the name of the connection group for the request.

Container

Obtiene la interfaz IContainer que contiene la clase Component.Gets the IContainer that contains the Component.

(Heredado de Component)
Credentials

Obtiene o establece credenciales de seguridad para la autenticación del cliente de servicios Web XML.Gets or sets security credentials for XML Web service client authentication.

DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Heredado de Component)
PreAuthenticate

Obtiene o establece si la autenticación previa está habilitada.Gets or sets whether pre-authentication is enabled.

RequestEncoding

La instancia de Encoding que se utiliza para realizar la solicitud de cliente al servicio Web XML.The Encoding used to make the client request to the XML Web service.

Site

Obtiene o establece ISite de Component.Gets or sets the ISite of the Component.

(Heredado de Component)
Timeout

Indica el tiempo, en milisegundos, que un cliente de servicios Web XML espera a que llegue una respuesta a una solicitud de servicio Web XML sincrónica.Indicates the time an XML Web service client waits for the reply to a synchronous XML Web service request to arrive (in milliseconds).

Url

Obtiene o establece la dirección URL base del servicio Web XML que el cliente solicita.Gets or sets the base URL of the XML Web service the client is requesting.

UseDefaultCredentials

Obtiene o establece un valor que indica si se establece la propiedad Credentials en el valor de la propiedad DefaultCredentials.Gets or sets a value that indicates whether to set the Credentials property to the value of the DefaultCredentials property.

Métodos

Abort()

Cancela una solicitud a un método de servicios Web XML.Cancels a request to an XML Web service method.

AddToCache(Type, Object)

Agrega una instancia del controlador de protocolo cliente a la memoria caché.Add an instance of the client protocol handler to the cache.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.Releases all resources used by the Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetFromCache(Type)

Obtiene una instancia del controlador de protocolo cliente desde la memoria caché.Gets an instance of a client protocol handler from the cache.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetWebRequest(Uri)

Crea una instancia de WebRequest para el uri especificado.Creates a WebRequest instance for the specified uri. La infraestructura del cliente de servicios Web XML llama a este método protegido para obtener un nuevo objeto de transporte WebRequest que transmita la solicitud del servicio Web XML.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)

Devuelve una respuesta de una solicitud sincrónica a un método de servicios Web XML.Returns a response from a synchronous request to an XML Web service method.

GetWebResponse(WebRequest, IAsyncResult)

Devuelve una respuesta de una solicitud asincrónica a un método de servicios Web XML.Returns a response from an asynchronous request to an XML Web service method. La infraestructura del cliente de servicios Web XML llama a este método protegido para obtener la respuesta de una solicitud de servicio Web XML asincrónica.This protected method is called by the XML Web service client infrastructure to get the response from an asynchronous XML Web service request.

InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una String que contiene el nombre del Component, si existe.Returns a String containing the name of the Component, if any. Este método no se debe invalidar.This method should not be overridden.

(Heredado de Component)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Heredado de Component)

Se aplica a

Seguridad para subprocesos

Las propiedades de esta clase se copian en una nueva instancia de un WebRequest objeto para cada llamada al método de servicio Web XML.The properties on this class are copied into a new instance of a WebRequest object for each XML Web service method call. Aunque puede llamar a métodos de servicios Web XML en la misma WebClientProtocol instancia desde distintos subprocesos al mismo tiempo, no se realiza ninguna sincronización para asegurarse de que se transferirá una instantánea coherente de las propiedades al WebRequest objeto.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. Por lo tanto, si necesita modificar las propiedades y realizar llamadas a métodos simultáneas desde diferentes subprocesos, debe usar una instancia diferente del proxy del servicio Web XML o proporcionar su propia sincronización.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.

Consulte también