Compartir por


HttpWebClientProtocol Clase

Definición

Representa la clase base para todos los servidores proxy de cliente del servicio 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 de 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 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 la HttpWebRequest que 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

Nombre Description
HttpWebClientProtocol()

Inicializa una nueva instancia de la clase HttpWebClientProtocol.

Propiedades

Nombre Description
AllowAutoRedirect

Obtiene o establece si el cliente sigue automáticamente 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 de cliente.

ConnectionGroupName

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

(Heredado de WebClientProtocol)
Container

Obtiene el IContainer objeto que contiene el Componentobjeto .

(Heredado de Component)
CookieContainer

Obtiene o establece la colección de cookies.

Credentials

Obtiene o establece las credenciales de seguridad para la autenticación de cliente del servicio web XML.

(Heredado de WebClientProtocol)
DesignMode

Obtiene un valor que indica si Component el objeto 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 HttpWebClientProtocolobjeto .

Events

Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto .

(Heredado de Component)
PreAuthenticate

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

(Heredado de WebClientProtocol)
Proxy

Obtiene o establece información de proxy para realizar una solicitud de servicio web XML a través de un firewall.

RequestEncoding

Encoding utilizado para realizar la solicitud de cliente al servicio web XML.

(Heredado de WebClientProtocol)
Site

Obtiene o establece el ISite objeto de .Component

(Heredado de Component)
Timeout

Indica la hora en que un cliente de servicio web XML espera a que llegue la respuesta a una solicitud de servicio web XML sincrónica (en milisegundos).

(Heredado de WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Obtiene o establece un valor que indica si el uso compartido de conexiones está habilitado cuando el cliente usa 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 solicita el cliente.

(Heredado de WebClientProtocol)
UseDefaultCredentials

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

(Heredado de WebClientProtocol)
UserAgent

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

Métodos

Nombre Description
Abort()

Cancela una solicitud a un método de servicio web XML.

(Heredado de WebClientProtocol)
CancelAsync(Object)

Cancela una llamada asincrónica a un método de servicio web XML, a menos que la llamada ya se haya completado.

CreateObjRef(Type)

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

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos usados por .Component

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GenerateXmlMappings(Type, ArrayList)

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

GenerateXmlMappings(Type[], ArrayList)

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

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

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 un servicio proporcionado por Component o por su Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetWebRequest(Uri)

Crea un WebRequest para el URI especificado.

GetWebResponse(WebRequest, IAsyncResult)

Devuelve una respuesta de una solicitud asincrónica a un método de servicio web XML.

GetWebResponse(WebRequest)

Devuelve una respuesta de una solicitud sincrónica a un método de servicio web XML.

InitializeLifetimeService()
Obsoletos.

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 Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
ToString()

Devuelve un String objeto que contiene el nombre de Component, si existe. Este método no se debe invalidar.

(Heredado de Component)

Eventos

Nombre Description
Disposed

Se produce cuando el componente se elimina mediante una llamada al Dispose() método .

(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. 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 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