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 del 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 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 de .
<%@ 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
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 el IContainer que contiene el Component. (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 el Component está actualmente en modo de diseño. (Heredado de Component) |
Events |
Obtiene la lista de controladores de eventos que están asociados a este Component. (Heredado de Component) |
PreAuthenticate |
Obtiene o establece si la autenticación previa está habilitada. |
RequestEncoding |
El Encoding usado para realizar la solicitud de cliente al servicio web XML. |
Site |
Obtiene o establece el ISite del 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 propiedad Credentials en el valor de la propiedad DefaultCredentials. |
Métodos
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 el Component. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados usados por el 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 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 el 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() |
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 MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
ToString() |
Devuelve un String que contiene el nombre del Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
Eventos
Disposed |
Se produce cuando el componente se elimina 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 objeto WebRequest 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.
Consulte también
- SoapHttpClientProtocol
- HttpWebRequest
- Información general sobre vulnerabilidades de seguridad de script de