Partilhar via


WebClientProtocol Classe

Definição

Especifica a classe base para todos os proxies de cliente do 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
WebClientProtocol
Derivado
Atributos

Exemplos

O exemplo a seguir é um ASP.NET Web Form, que chama um serviço Web XML chamado Math. Dentro da EnterBtn_Click função , o Formulário da Web define informações de proxy e credenciais de cliente na classe proxy antes de chamar o método de serviço Web XML remoto.

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos HTML ou script. Para obter mais informações, consulte Visão geral de explorações 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>

Comentários

As propriedades da WebClientProtocol classe são usadas para controlar o comportamento do transporte usado para transmitir a solicitação e a resposta do serviço Web XML. As propriedades nesta classe mapeiam para as propriedades encontradas em WebRequest. Instâncias de classes derivadas de WebRequest, como HttpWebRequest, são usadas como o mecanismo de transporte para serviços Web XML criados usando ASP.NET.

Para se comunicar com um serviço Web XML, você deve criar uma classe proxy derivada indiretamente ou diretamente do WebClientProtocol serviço Web XML que você deseja chamar. Em vez de criar a classe proxy manualmente, você pode usar a ferramenta Wsdl.exe para criar uma classe proxy para uma descrição de serviço de determinado serviço Web XML. Como WebClientProtocol é a classe base do proxy do cliente, você encontrará suas propriedades em suas classes proxy. Essas propriedades são úteis para controlar o comportamento de solicitação 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 usado para fazer a solicitação da Web.

Construtores

WebClientProtocol()

Inicializa uma nova instância da classe WebClientProtocol.

Propriedades

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.

(Herdado de Component)
ConnectionGroupName

Obtém ou define o nome do grupo de conexões para a solicitação.

Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
Credentials

Obtém ou define as credenciais de segurança para a autenticação de cliente do serviço Web XML.

DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.

(Herdado de Component)
PreAuthenticate

Obtém ou define se a pré-autenticação está habilitada.

RequestEncoding

O Encoding usado para fazer a solicitação do cliente para o serviço Web XML.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
Timeout

Indica o tempo que um cliente do serviço Web XML aguarda a resposta até que uma solicitação síncrona de serviço Web XML seja recebida (em milissegundos).

Url

Obtém ou define a URL base do serviço Web XML que está sendo solicitada pelo cliente.

UseDefaultCredentials

Obtém ou define um valor que indica se deseja definir a propriedade Credentials para o valor da propriedade DefaultCredentials.

Métodos

Abort()

Cancela uma solicitação para um método de serviço Web XML.

AddToCache(Type, Object)

Adicionar uma instância do manipulador de protocolo de cliente ao cache.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.

(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 manipulador de protocolo de cliente do cache.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetService(Type)

Retorna 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 instância WebRequest para o uri especificado. Esse método protegido é chamado pela infraestrutura de cliente de serviço Web XML para obter um novo objeto de transporte WebRequest para transmitir a solicitação de serviço Web XML.

GetWebResponse(WebRequest)

Retorna uma resposta de uma solicitação síncrona para um método de serviço Web XML.

GetWebResponse(WebRequest, IAsyncResult)

Retorna uma resposta de uma solicitação assíncrona para um método de serviço Web XML. Este método protegido é chamado pela infraestrutura do cliente de serviço Web XML para obter a resposta de uma solicitação de serviço Web XML assíncrona.

InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ToString()

Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído.

(Herdado de Component)

Eventos

Disposed

Ocorre quando o componente é disposto por uma chamada ao método Dispose().

(Herdado de Component)

Aplica-se a

Acesso thread-safe

As propriedades dessa classe são copiadas em uma nova instância de um WebRequest objeto para cada chamada de método de serviço Web XML. Embora você possa chamar métodos de serviço Web XML na mesma WebClientProtocol instância de threads diferentes ao mesmo tempo, não há sincronização feita para garantir que um instantâneo consistente das propriedades seja transferido para o WebRequest objeto . Portanto, se você precisar modificar as propriedades e fazer chamadas de método simultâneas de threads diferentes, deverá usar uma instância diferente do proxy do serviço Web XML ou fornecer sua própria sincronização.

Confira também