WebClientProtocol Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica a classe base para todos os proxies de clientes de serviço Web XML criados usando 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
- Herança
- Derivado
- Atributos
Exemplos
O exemplo seguinte é um ASP.NET Web Form, que chama um serviço Web XML chamado Math. Dentro da EnterBtn_Click função, o Web Form define a informação do proxy e as credenciais do cliente na classe proxy antes de chamar o método do serviço Web XML remoto.
Importante
Este exemplo tem uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de 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>
Observações
As propriedades da WebClientProtocol classe são usadas para controlar o comportamento do transporte usado para transmitir o pedido e resposta do serviço Web XML. As propriedades desta classe mapeiam para propriedades encontradas em WebRequest. Instâncias de classes derivadas de WebRequest, como HttpWebRequest, são usadas como mecanismo de transporte para serviços Web XML criados usando ASP.NET.
Para comunicar com um serviço Web XML, deve criar uma classe proxy derivada indiretamente ou diretamente WebClientProtocol para o serviço Web XML que pretende chamar. Em vez de criar manualmente a classe proxy, pode usar a ferramenta Wsdl.exe para criar uma classe proxy para a descrição do serviço Web XML dado. Como WebClientProtocol é a classe base para o seu proxy cliente, encontrará as suas propriedades nas suas classes proxy. Estas propriedades são úteis para controlar o comportamento de pedido do transporte subjacente. Por exemplo, use a Credentials propriedade para chamar serviços Web XML autenticados. Muitas das WebClientProtocol propriedades são usadas para inicializar o WebRequest objeto que é usado para fazer o pedido Web.
Construtores
| Name | Description |
|---|---|
| WebClientProtocol() |
Inicializa uma nova instância da WebClientProtocol classe. |
Propriedades
| Name | Description |
|---|---|
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| ConnectionGroupName |
Obtém ou define o nome do grupo de ligação para o pedido. |
| Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
| Credentials |
Obtém ou definem credenciais de segurança para a autenticação de clientes de serviços Web XML. |
| DesignMode |
Obtém um valor que indica se o Component está atualmente em modo de design. (Herdado de Component) |
| Events |
Obtém a lista de gestores de eventos que estão ligados a isto Component. (Herdado de Component) |
| PreAuthenticate |
Obtém ou define se a pré-autenticação está ativada. |
| RequestEncoding |
Eles Encoding eram usados para fazer o pedido do cliente ao serviço Web XML. |
| Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
| Timeout |
Indica o tempo em que um cliente de serviço Web XML espera pela resposta a um pedido síncrono de serviço Web XML (em milissegundos). |
| Url |
Obtém ou define a URL base do serviço Web XML que o cliente está a solicitar. |
| UseDefaultCredentials |
Obtém ou define um valor que indica se deve definir a Credentials propriedade para o valor da DefaultCredentials propriedade. |
Métodos
| Name | Description |
|---|---|
| Abort() |
Cancela um pedido para um método de serviço Web XML. |
| AddToCache(Type, Object) |
Adicione uma instância do handler do protocolo cliente à cache. |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados pelo Component. (Herdado de Component) |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos. (Herdado de Component) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetFromCache(Type) |
Obtém uma instância de um gestor de protocolo cliente a partir da cache. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetService(Type) |
Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container. (Herdado de Component) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetWebRequest(Uri) |
Cria uma WebRequest instância para o especificado |
| GetWebResponse(WebRequest, IAsyncResult) |
Retorna uma resposta de um pedido assíncrono para um método de serviço Web XML. Este método protegido é chamado pela infraestrutura cliente de serviço Web XML para obter a resposta de um pedido assíncrono de serviço Web XML. |
| GetWebResponse(WebRequest) |
Retorna uma resposta de um pedido síncrono para um método de serviço Web XML. |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ToString() |
Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado. (Herdado de Component) |
evento
| Name | Description |
|---|---|
| Disposed |
Ocorre quando o componente é eliminado por uma chamada ao Dispose() método. (Herdado de Component) |
Aplica-se a
Segurança de Thread
As propriedades desta classe são copiadas para uma nova instância de um WebRequest objeto para cada chamada de método de serviço Web XML. Embora possa chamar métodos de serviço Web XML na mesma WebClientProtocol instância a partir de diferentes threads ao mesmo tempo, não há sincronização feita para garantir que um snapshot consistente das propriedades será transferido para o WebRequest objeto. Portanto, se precisares de modificar as propriedades e fazer chamadas de método concorrentes de diferentes threads, deves usar uma instância diferente do proxy do serviço Web XML ou fornecer a tua própria sincronização.