WebClientProtocol Clase

Definición

Especifica la clase base para todos los proxies de cliente de servicios Web XML creados mediante 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. Dentro de la EnterBtn_Click función , el formulario web establece información de proxy y credenciales de cliente en la clase de proxy antes de llamar al método de servicio web XML remoto.

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.

<%@ 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 usan para controlar el comportamiento del transporte utilizado para transmitir la solicitud y respuesta del servicio web XML. Las propiedades de esta clase se asignan a las propiedades que se encuentran en WebRequest. Las instancias de clases derivadas de WebRequest, como HttpWebRequest, se usan como mecanismo de transporte para los servicios web XML creados mediante ASP.NET.

Para comunicarse con un servicio web XML, debe crear una clase de proxy que derive indirectamente o directamente desde WebClientProtocol para el servicio web XML al que desea llamar. En lugar de crear manualmente la clase de proxy, puede usar la herramienta Wsdl.exe para crear una clase de proxy para la descripción del servicio web XML determinada. Dado WebClientProtocol que es la clase base para el proxy de cliente, encontrará sus propiedades en las clases de proxy. Estas propiedades son útiles para controlar el comportamiento de la solicitud del transporte subyacente. Por ejemplo, use la Credentials propiedad para llamar a servicios web XML autenticados. Muchas de las WebClientProtocol propiedades se usan para inicializar el WebRequest objeto que se usa para realizar la solicitud web.

Constructores

WebClientProtocol()

Inicializa una nueva instancia de la clase WebClientProtocol.

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
ConnectionGroupName

Obtiene o establece el nombre del grupo de conexiones para la solicitud.

Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
Credentials

Obtiene o establece credenciales de seguridad para la autenticación del cliente de servicios Web XML.

DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
PreAuthenticate

Obtiene o establece si la autenticación previa está habilitada.

RequestEncoding

La instancia de Encoding que se utiliza para realizar la solicitud de cliente al servicio Web XML.

Site

Obtiene o establece ISite de 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.

Url

Obtiene o establece la dirección URL base del servicio Web XML que el cliente solicita.

UseDefaultCredentials

Obtiene o establece un valor que indica si se establece la propiedad Credentials en el valor de la propiedad DefaultCredentials.

Métodos

Abort()

Cancela una solicitud a un método de servicios Web XML.

AddToCache(Type, Object)

Agrega una instancia del controlador de protocolo cliente a la memoria caché.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetFromCache(Type)

Obtiene una instancia del controlador de protocolo cliente desde la memoria caché.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetWebRequest(Uri)

Crea una instancia de WebRequest para el uri especificado. 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.

GetWebResponse(WebRequest)

Devuelve una respuesta de una solicitud sincrónica a un método de servicios Web XML.

GetWebResponse(WebRequest, IAsyncResult)

Devuelve una respuesta de una solicitud asincrónica a un método de servicios Web XML. 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.

InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

(Heredado de Component)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(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 de método de servicio web XML. Aunque puede llamar a métodos de servicio web XML en la misma WebClientProtocol instancia de subprocesos diferentes 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. Por lo tanto, si necesita modificar las propiedades y realizar llamadas simultáneas a métodos de diferentes subprocesos, debe usar una instancia diferente del proxy del servicio web XML o proporcionar su propia sincronización.

Consulte también