HttpWebClientProtocol Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa a classe base para todos os proxies de clientes de serviço Web XML que usam o protocolo de transporte HTTP.
public ref class HttpWebClientProtocol abstract : System::Web::Services::Protocols::WebClientProtocol
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
type HttpWebClientProtocol = class
inherit WebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpWebClientProtocol = class
inherit WebClientProtocol
Public MustInherit Class HttpWebClientProtocol
Inherits WebClientProtocol
- Herança
- 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 Web permite que o servidor redirecione automaticamente o cliente para outros sites. Ele também define as credenciais de autenticação do cliente, as configurações de proxy, a codificação de solicitação e o tempo limite para a solicitação antes de chamar o método de serviço Web XML.
<%@ 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();
// Allow the server to redirect the request.
math.AllowAutoRedirect = true;
// Set the client-side credentials using the Credentials property.
ICredentials credentials =
new NetworkCredential("Joe","password","mydomain");
math.Credentials = credentials;
// Set the proxy server to proxyserver, set the port to 80, and specify to bypass
// the proxy server for local addresses.
IWebProxy proxyObject = new WebProxy("http://proxyserver:80",true);
math.Proxy = proxyObject;
// Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8;
// Set the time out to 15 seconds
math.Timeout = 15000;
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()
' Allow the server to redirect the request.
math.AllowAutoRedirect = True
' Set the client-side credentials using the Credentials property.
Dim credentials = New NetworkCredential("Joe", "password", "mydomain")
math.Credentials = credentials
' Set the proxy server to proxyserver, set the port to 80 and specify to bypass
' the proxy server for local addresses.
Dim proxyObject = New WebProxy("http://proxyserver:80", True)
math.Proxy = proxyObject
' Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8
' Set the time out to 15 seconds.
math.Timeout = 15000
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 nessa classe são usadas para controlar o comportamento do objeto de solicitação HTTP usado para transmitir a solicitação e a resposta do serviço Web XML. O mapa de propriedades para propriedades encontradas em HttpWebRequest.
Para se comunicar com um serviço Web XML usando HTTP, você deve criar uma classe proxy derivando indiretamente ou diretamente do HttpWebClientProtocol serviço Web XML. 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 HttpWebClientProtocol é a classe base para todas as classes proxy, suas propriedades estão em suas classes proxy. Essas propriedades são úteis para controlar o comportamento de solicitação do transporte subjacente. Por exemplo, use a Proxy propriedade para chamar serviços Web XML por meio de um firewall. Muitas dessas propriedades são usadas para inicializar a solicitação HttpWebRequest da Web.
SoapHttpClientProtocol, HttpGetClientProtocole HttpPostClientProtocol derivar direta ou indiretamente para HttpWebClientProtocol fornecer suporte para SOAP, HTTP-GET e HTTP-POST, respectivamente.
Construtores
HttpWebClientProtocol() |
Inicializa uma nova instância da classe HttpWebClientProtocol. |
Propriedades
AllowAutoRedirect |
Obtém ou define se o cliente segue automaticamente redirecionamentos do servidor. |
CanRaiseEvents |
Obtém um valor que indica se o componente pode acionar um evento. (Herdado de Component) |
ClientCertificates |
Obtém a coleção de certificados do cliente. |
ConnectionGroupName |
Obtém ou define o nome do grupo de conexões para a solicitação. (Herdado de WebClientProtocol) |
Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
CookieContainer |
Obtém ou define a coleção de cookies. |
Credentials |
Obtém ou define as credenciais de segurança para a autenticação de cliente do serviço Web XML. (Herdado de WebClientProtocol) |
DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
EnableDecompression |
Obtém ou define um valor que indica se a descompactação está habilitada para este HttpWebClientProtocol. |
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. (Herdado de WebClientProtocol) |
Proxy |
Obtém ou define informações de proxy para fazer uma solicitação de serviço Web XML por um firewall. |
RequestEncoding |
O Encoding usado para fazer a solicitação do cliente para o serviço Web XML. (Herdado de WebClientProtocol) |
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). (Herdado de WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
Obtém ou define um valor que indica se o compartilhamento de conexão está habilitado quando o cliente usa a autenticação NTLM para se conectar ao servidor Web que hospeda o serviço Web XML. |
Url |
Obtém ou define a URL base do serviço Web XML que está sendo solicitada pelo cliente. (Herdado de WebClientProtocol) |
UseDefaultCredentials |
Obtém ou define um valor que indica se deseja definir a propriedade Credentials para o valor da propriedade DefaultCredentials. (Herdado de WebClientProtocol) |
UserAgent |
Obtém ou define o valor para o cabeçalho de agente do usuário enviado com cada solicitação. |
Métodos
Abort() |
Cancela uma solicitação para um método de serviço Web XML. (Herdado de WebClientProtocol) |
CancelAsync(Object) |
Cancela uma chamada assíncrona para um método de serviço Web XML, a menos que a chamada já tenha sido concluída. |
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) |
GenerateXmlMappings(Type, ArrayList) |
Obtém o XmlMembersMapping para cada método de serviço Web XML exposto pelo tipo especificado e armazena os mapeamentos no ArrayList especificado. |
GenerateXmlMappings(Type[], ArrayList) |
Obtém o XmlMembersMapping para cada método de serviço Web XML exposto pelos tipos especificados e armazena os mapeamentos no ArrayList especificado, bem como em um Hashtable que o método retorna. |
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 um WebRequest para o URI especificado. |
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. |
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 para 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á nenhuma 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 de serviço Web XML ou fornecer sua própria sincronização.