HttpWebClientProtocol Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.