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 proxies de cliente de servicios 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 una ASP.NET formulario web, que llama a un servicio web XML denominado Math
. Dentro de la EnterBtn_Click
función , 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 datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.
<%@ 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 WebClientProtocol clase 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 desde WebClientProtocol para el servicio web XML al que desea 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 WebClientProtocol que 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 la solicitud del transporte subyacente. Por ejemplo, use la Credentials propiedad para llamar a servicios web XML autenticados. Muchas de las WebClientProtocol propiedades se usan para inicializar el WebRequest objeto que se usa para realizar la solicitud web.
Constructores
WebClientProtocol() |
Inicializa una nueva instancia de la clase WebClientProtocol. |
Propiedades
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 la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
Credentials |
Obtiene o establece credenciales de seguridad para la autenticación del cliente de servicios Web XML. |
DesignMode |
Obtiene un valor que indica si Component está actualmente en modo de diseño. (Heredado de Component) |
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. |
RequestEncoding |
La instancia de Encoding que se utiliza para realizar la solicitud de cliente al servicio Web XML. |
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. |
Url |
Obtiene o establece la dirección URL base del servicio Web XML que el cliente solicita. |
UseDefaultCredentials |
Obtiene o establece un valor que indica si se establece la propiedad Credentials en el valor de la propiedad DefaultCredentials. |
Métodos
Abort() |
Cancela una solicitud a un método de servicios Web XML. |
AddToCache(Type, Object) |
Agrega una instancia del controlador de protocolo cliente a la memoria caché. |
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) |
GetFromCache(Type) |
Obtiene una instancia del controlador de protocolo cliente desde la memoria caché. |
GetHashCode() |
Sirve como la 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 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 una instancia de WebRequest para el |
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. La infraestructura del cliente de servicios Web XML llama a este método protegido para obtener la respuesta de una solicitud de servicio Web XML asincrónica. |
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 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 se realiza ninguna sincronización para asegurarse de que se transferirá 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.