WebClientProtocol 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í.
Especifica la clase base para todos los servidores proxy de cliente de servicio 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
- 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 función EnterBtn_Click, 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 la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET páginas web validan que la entrada del usuario no incluye elementos HTML ni de script. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad de script.
<%@ 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 clase WebClientProtocol 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 de WebClientProtocol para el servicio web XML al que quiera 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 que WebClientProtocol 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 solicitud del transporte subyacente. Por ejemplo, use la propiedad Credentials para llamar a servicios web XML autenticados. Muchas de las propiedades de WebClientProtocol se usan para inicializar el objeto WebRequest que se usa para realizar la solicitud web.
Constructores
| Nombre | Description |
|---|---|
| WebClientProtocol() |
Inicializa una nueva instancia de la clase WebClientProtocol. |
Propiedades
| Nombre | Description |
|---|---|
| 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 el IContainer objeto que contiene el Componentobjeto . (Heredado de Component) |
| Credentials |
Obtiene o establece las credenciales de seguridad para la autenticación de cliente del servicio web XML. |
| DesignMode |
Obtiene un valor que indica si Component el objeto está actualmente en modo de diseño. (Heredado de Component) |
| 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. |
| RequestEncoding |
Encoding utilizado para realizar la solicitud de cliente al servicio web XML. |
| Site |
Obtiene o establece ISite 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). |
| Url |
Obtiene o establece la dirección URL base del servicio web XML que solicita el cliente. |
| UseDefaultCredentials |
Obtiene o establece un valor que indica si se va a establecer la Credentials propiedad en el valor de la DefaultCredentials propiedad . |
Métodos
| Nombre | Description |
|---|---|
| Abort() |
Cancela una solicitud a un método de servicio web XML. |
| AddToCache(Type, Object) |
Agregue una instancia del controlador de protocolo de cliente a la memoria caché. |
| 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) |
| GetFromCache(Type) |
Obtiene una instancia de un controlador de protocolo de cliente de la memoria caché. |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetLifetimeService() |
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 una instancia de WebRequest para el |
| GetWebResponse(WebRequest, IAsyncResult) |
Devuelve una respuesta de una solicitud asincrónica a un método de servicio web XML. La infraestructura de cliente del servicio web XML llama a este método protegido para obtener la respuesta de una solicitud de servicio web XML asincrónica. |
| GetWebResponse(WebRequest) |
Devuelve una respuesta de una solicitud sincrónica a un método de servicio web XML. |
| InitializeLifetimeService() |
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 instancia de WebClientProtocol desde 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 objeto WebRequest. 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.