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