HttpWebClientProtocol Clase

Definición

Representa la clase base para todos los proxies cliente de servicios Web XML que usan el protocolo de transporte HTTP.

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
Herencia
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 permite al servidor redirigir automáticamente el cliente a otros sitios. También establece las credenciales de autenticación de cliente, la configuración del proxy, la codificación de la solicitud y el tiempo de espera de la solicitud antes de llamar al método de servicio web XML.

<%@ 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>
   

Comentarios

Las propiedades de esta clase se usan para controlar el comportamiento del objeto de solicitud HTTP utilizado para transmitir la solicitud y respuesta del servicio web XML. Las propiedades se asignan a las propiedades que se encuentran en HttpWebRequest.

Para comunicarse con un servicio web XML mediante HTTP, debe crear una clase de proxy que derive indirectamente o directamente desde HttpWebClientProtocol para el servicio web XML. 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 que HttpWebClientProtocol es la clase base para todas las clases de proxy, sus propiedades se encuentran en las clases de proxy. Estas propiedades son útiles para controlar el comportamiento de la solicitud del transporte subyacente. Por ejemplo, use la Proxy propiedad para llamar a servicios web XML a través de un firewall. Muchas de estas propiedades se usan para inicializar que HttpWebRequest realiza la solicitud web.

SoapHttpClientProtocol, HttpGetClientProtocoly HttpPostClientProtocol derivan directa o indirectamente de HttpWebClientProtocol para proporcionar compatibilidad con SOAP, HTTP-GET y HTTP-POST respectivamente.

Constructores

HttpWebClientProtocol()

Inicializa una nueva instancia de la clase HttpWebClientProtocol.

Propiedades

AllowAutoRedirect

Obtiene o establece si el cliente sigue de forma automática las redirecciones del servidor.

CanRaiseEvents

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

(Heredado de Component)
ClientCertificates

Obtiene la colección de certificados del cliente.

ConnectionGroupName

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

(Heredado de WebClientProtocol)
Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
CookieContainer

Obtiene o establece la colección de cookies.

Credentials

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

(Heredado de WebClientProtocol)
DesignMode

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

(Heredado de Component)
EnableDecompression

Obtiene o establece un valor que indica si la descompresión está habilitada para este HttpWebClientProtocol.

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.

(Heredado de WebClientProtocol)
Proxy

Obtiene o establece la información de proxy necesaria para realizar una solicitud de servicios Web XML a través de un firewall.

RequestEncoding

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

(Heredado de WebClientProtocol)
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.

(Heredado de WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Obtiene o establece un valor que indica si está habilitada la conexión compartida cuando el cliente utiliza la autenticación NTLM para conectarse al servidor Web que hospeda el servicio Web XML.

Url

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

(Heredado de WebClientProtocol)
UseDefaultCredentials

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

(Heredado de WebClientProtocol)
UserAgent

Obtiene o establece el valor del encabezado del agente de usuario que se envía con cada solicitud.

Métodos

Abort()

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

(Heredado de WebClientProtocol)
CancelAsync(Object)

Cancela una llamada asincrónica a un método de servicios Web XML, a menos que la llamada ya haya finalizado.

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)
GenerateXmlMappings(Type, ArrayList)

Obtiene el objeto XmlMembersMapping para cada método de servicios Web XML expuesto por el tipo especificado y almacena las asignaciones en el objeto ArrayList especificado.

GenerateXmlMappings(Type[], ArrayList)

Obtiene el objeto XmlMembersMapping para cada método de servicios Web XML expuesto por los tipos especificados y almacena las asignaciones en el objeto ArrayList especificado, así como en Hashtable que este método devuelve.

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 WebRequest para la dirección URI especificada.

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.

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 hay ninguna sincronización realizada para asegurarse de que se transfiere 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