HttpClient 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.
Fornece uma classe para enviar solicitações HTTP e receber respostas HTTP de um recurso identificado por um URI.
public ref class HttpClient : System::Net::Http::HttpMessageInvoker
public class HttpClient : System.Net.Http.HttpMessageInvoker
type HttpClient = class
inherit HttpMessageInvoker
Public Class HttpClient
Inherits HttpMessageInvoker
- Herança
Exemplos
// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
// Call asynchronous network methods in a try/catch block to handle exceptions.
try
{
using HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
// Above three lines can be replaced with new helper method below
// string responseBody = await client.GetStringAsync(uri);
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ", e.Message);
}
}
open System.Net.Http
// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
let client = new HttpClient()
let main =
task {
// Call asynchronous network methods in a try/catch block to handle exceptions.
try
use! response = client.GetAsync "http://www.contoso.com/"
response.EnsureSuccessStatusCode() |> ignore
let! responseBody = response.Content.ReadAsStringAsync()
// Above three lines can be replaced with new helper method below
// let! responseBody = client.GetStringAsync uri
printfn $"{responseBody}"
with
| :? HttpRequestException as e ->
printfn "\nException Caught!"
printfn $"Message :{e.Message} "
}
main.Wait()
' HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
Shared ReadOnly client As HttpClient = New HttpClient()
Private Shared Async Function Main() As Task
' Call asynchronous network methods in a try/catch block to handle exceptions.
Try
Using response As HttpResponseMessage = Await client.GetAsync("http://www.contoso.com/")
response.EnsureSuccessStatusCode()
Dim responseBody As String = Await response.Content.ReadAsStringAsync()
' Above three lines can be replaced with new helper method below
' Dim responseBody As String = Await client.GetStringAsync(uri)
Console.WriteLine(responseBody)
End Using
Catch e As HttpRequestException
Console.WriteLine(Environment.NewLine & "Exception Caught!")
Console.WriteLine("Message :{0} ", e.Message)
End Try
End Function
Comentários
A HttpClient instância de classe atua como uma sessão para enviar solicitações HTTP. Uma HttpClient instância é uma coleção de configurações aplicadas a todas as solicitações executadas por essa instância. Além disso, cada HttpClient instância usa seu próprio pool de conexões, isolando suas solicitações de solicitações executadas por outras HttpClient instâncias.
Instancing
HttpClient destina-se a ser instanciado uma vez e reutilizado ao longo da vida útil de um aplicativo. No .NET Core e no .NET 5+, HttpClient agrupa conexões dentro da instância do manipulador e reutiliza uma conexão entre várias solicitações. Se você instanciar uma classe HttpClient para cada solicitação, o número de soquetes disponíveis em cargas pesadas se esgotará. Esse desgaste resultará em erros SocketException.
Você pode configurar opções adicionais passando um "handler", como HttpClientHandler (ou SocketsHttpHandler no .NET Core 2.1 ou posterior), como parte do construtor. As propriedades de conexão no manipulador não podem ser alteradas depois que uma solicitação é enviada, portanto, um motivo para criar uma nova HttpClient instância seria se você precisa alterar as propriedades de conexão. Se solicitações diferentes exigirem configurações diferentes, isso também poderá levar um aplicativo a ter várias HttpClient instâncias, em que cada instância é configurada adequadamente e, em seguida, as solicitações são emitidas no cliente relevante.
HttpClient só resolve entradas DNS quando uma conexão é criada. Ele não acompanha as durações TTL (tempo de vida útil) especificadas pelo servidor DNS. Se as entradas DNS forem alteradas regularmente, o que pode acontecer em alguns cenários de contêiner, o cliente não respeitará essas atualizações. Para resolver esse problema, você pode limitar o tempo de vida da conexão definindo a SocketsHttpHandler.PooledConnectionLifetime propriedade, de modo que a pesquisa de DNS seja necessária quando a conexão for substituída.
public class GoodController : ApiController
{
private static readonly HttpClient httpClient;
static GoodController()
{
var socketsHandler = new SocketsHttpHandler
{
PooledConnectionLifetime = TimeSpan.FromMinutes(2)
};
httpClient = new HttpClient(socketsHandler);
}
}
Como alternativa à criação de apenas uma HttpClient instância, você também pode usar IHttpClientFactory para gerenciar as HttpClient instâncias para você. Para obter mais informações, confira Diretrizes para usar HttpClient.
Derivação
O HttpClient também atua como uma classe base para clientes HTTP mais específicos. Um exemplo seria um FacebookHttpClient que fornece métodos adicionais específicos para um serviço Web do Facebook (por exemplo, um GetFriends método). Classes derivadas não devem substituir os métodos virtuais na classe. Em vez disso, use uma sobrecarga de construtor que aceita HttpMessageHandler para configurar qualquer processamento de pré-solicitação ou pós-solicitação.
Transports
HttpClient é uma API de alto nível que encapsula a funcionalidade de nível inferior disponível em cada plataforma em que é executada.
Em cada plataforma, HttpClient tenta usar o melhor transporte disponível:
| Host/Runtime | back-end |
|---|---|
| Estrutura Windows/.NET | HttpWebRequest |
| Windows/Mono | HttpWebRequest |
| Windows/UWP | WinHttpHandler nativo do Windows (compatível com HTTP 2.0) |
| Windows/.NET Core 1.0-2.0 | WinHttpHandler nativo do Windows (compatível com HTTP 2.0) |
| macOS/Mono | HttpWebRequest |
| macOS/.NET Core 1.0-2.0 | Transporte HTTP baseado em libcurl (compatível com HTTP 2.0) |
| Linux/Mono | HttpWebRequest |
| Linux/.NET Core 1.0-2.0 | Transporte HTTP baseado em libcurl (compatível com HTTP 2.0) |
| .NET Core 2.1 e posterior | System.Net.Http.SocketsHttpHandler |
Os usuários também podem configurar um transporte específico para HttpClient invocando o construtor HttpClient que usa um HttpMessageHandler.
.NET Framework &Mono
Por padrão, no .NET Framework e no Mono, HttpWebRequest é usado para enviar solicitações ao servidor. Esse comportamento pode ser modificado especificando um manipulador diferente em uma das sobrecargas do construtor com um HttpMessageHandler parâmetro. Se você precisar de recursos como autenticação ou cache, poderá usar WebRequestHandler para definir as configurações e a instância poderá ser passada para o construtor. O manipulador retornado pode ser passado para uma sobrecarga de construtor que tem um parâmetro HttpMessageHandler.
.NET Core
A partir do .NET Core 2.1, a classe System.Net.Http.SocketsHttpHandler fornece a implementação usada por classes de rede HTTP de nível superior, no lugar da HttpClientHandler como a HttpClient. O uso de SocketsHttpHandler oferece várias vantagens:
- Uma melhoria de desempenho significativa quando comparada com a implementação anterior.
- A eliminação de dependências de plataforma, que simplifica a implantação e a manutenção. Por exemplo,
libcurlnão é mais uma dependência do .NET Core para macOS e .NET Core para Linux. - Comportamento consistente em todas as plataformas .NET.
Se essa alteração for indesejável, no Windows, você poderá continuar a usar WinHttpHandler referenciando seu pacote NuGet e passando-o manualmente para o construtor do HttpClient .
Configurar o comportamento usando opções de configuração de runtime
Determinados aspectos do HttpClientcomportamento são personalizáveis por meio de opções de configuração do Runtime. No entanto, o comportamento desses switches varia entre as versões do .NET. Por exemplo, no .NET Core 2.1 – 3.1, você pode configurar se SocketsHttpHandler é usado por padrão, mas essa opção não está mais disponível a partir do .NET 5.
Agrupamento de conexões
HttpClient agrupa conexões HTTP sempre que possível e as usa para mais de uma solicitação. Isso pode ter um benefício de desempenho significativo, especialmente para solicitações HTTPS, já que o handshake de conexão só é feito uma vez.
As propriedades do pool de conexão podem ser configuradas em um HttpClientHandler ou SocketsHttpHandler passado durante a construção, incluindo MaxConnectionsPerServer, PooledConnectionIdleTimeout e PooledConnectionLifetime.
A eliminação da HttpClient instância fecha as conexões abertas e cancela as solicitações pendentes.
Note
Se você enviar simultaneamente solicitações HTTP/1.1 para o mesmo servidor, novas conexões poderão ser criadas. Mesmo se você reutilizar a HttpClient instância, se a taxa de solicitações for alta ou se houver limitações de firewall, isso poderá esgotar os soquetes disponíveis devido aos temporizadores de limpeza TCP padrão. Para limitar o número de conexões simultâneas, você pode definir a MaxConnectionsPerServer propriedade. Por padrão, o número de conexões HTTP/1.1 simultâneas é ilimitado.
Bufferização e tempo de vida da solicitação
Por padrão, HttpClient os métodos (exceto GetStreamAsync) armazenam em buffer as respostas do servidor, lendo todo o corpo da resposta na memória antes de retornar o resultado assíncrono. Essas solicitações continuarão até que ocorra um destes procedimentos:
- O Task<TResult> tem sucesso e retorna um resultado.
- O Timeout é alcançado, nesse caso o Task<TResult> será cancelado.
- O CancellationToken passável para algumas sobrecargas de método é disparado.
- CancelPendingRequests() é invocado.
- O HttpClient é descartado.
Você pode alterar o comportamento de buffer por solicitação usando o HttpCompletionOption parâmetro disponível em algumas sobrecargas de método. Esse argumento pode ser usado para especificar se o Task<TResult> deve ser considerado concluído depois de ler apenas os cabeçalhos de resposta ou depois de ler e armazenar o conteúdo da resposta em buffer.
Se o aplicativo que usa HttpClient e classes relacionadas no namespace System.Net.Http pretende baixar grandes quantidades de dados (50 megabytes ou mais), o aplicativo deve fazer streaming desses downloads e não usar o buffer padrão. Se você usar o buffer padrão, o uso da memória do cliente ficará muito grande, potencialmente resultando em um desempenho substancialmente reduzido.
Segurança de thread
Os métodos a seguir são thread safe:
- CancelPendingRequests
- DeleteAsync
- GetAsync
- GetByteArrayAsync
- GetStreamAsync
- GetStringAsync
- PostAsync
- PutAsync
- SendAsync
Proxies
Por padrão, HttpClient lê a configuração de proxy de variáveis de ambiente ou configurações de usuário/sistema, dependendo da plataforma. Você pode alterar esse comportamento passando um WebProxy ou IWebProxy para, em ordem de precedência:
- A propriedade Proxy passado em um
HttpClientHandlerdurante a construçãoHttpClient - A propriedade estática DefaultProxy (afeta todas as instâncias)
Você pode desabilitar o proxy usando UseProxy. A configuração padrão para usuários do Windows é tentar detectar um proxy usando a descoberta de rede, o que pode ser lento. Para aplicativos de alta taxa de transferência em que se sabe que um proxy não é necessário, você deve desabilitar o proxy.
As configurações de proxy (como Credentials) devem ser alteradas somente antes que a primeira solicitação seja feita usando o HttpClient. As alterações feitas após usar o HttpClient pela primeira vez podem não ser refletidas nas solicitações subsequentes.
Timeouts
Você pode usar Timeout para definir um tempo limite padrão para todas as solicitações HTTP da HttpClient instância. O tempo limite só se aplica aos métodos xxxAsync que fazem com que uma solicitação/resposta seja iniciada. Se o tempo limite for atingido, a Task<TResult> solicitação será cancelada.
Você pode definir alguns tempos limite adicionais se passar uma SocketsHttpHandler instância ao construir o HttpClient objeto:
| Property | Description |
|---|---|
| ConnectTimeout | Especifica um tempo limite usado quando uma solicitação requer a criação de uma nova conexão TCP. Se o tempo limite ocorrer, a solicitação Task<TResult> será cancelada. |
| PooledConnectionLifetime | Especifica um tempo limite a ser usado para cada conexão no pool de conexões. Se a conexão estiver ociosa, a conexão será fechada imediatamente; caso contrário, a conexão será fechada no final da solicitação atual. |
| PooledConnectionIdleTimeout | Se uma conexão no pool de conexões estiver ociosa por esse tempo, a conexão será fechada. |
| Expect100ContinueTimeout | Se a solicitação tiver um cabeçalho "Expect: 100-continue", ela atrasará o envio de conteúdo até o tempo limite ou até que uma resposta "100-continue" seja recebida. |
HttpClient só resolve entradas DNS quando as conexões são criadas. Ele não acompanha as durações TTL (tempo de vida útil) especificadas pelo servidor DNS. Se as entradas DNS estiverem mudando regularmente, o que pode acontecer em alguns cenários de contêiner, você poderá usar o PooledConnectionLifetime para limitar o tempo de vida da conexão para que a pesquisa de DNS seja necessária ao substituir a conexão.
Construtores
| Nome | Description |
|---|---|
| HttpClient() |
Inicializa uma nova instância da HttpClient classe usando uma HttpClientHandler que é descartada quando essa instância é descartada. |
| HttpClient(HttpMessageHandler, Boolean) |
Inicializa uma nova instância da HttpClient classe com o manipulador fornecido e especifica se esse manipulador deve ser descartado quando essa instância é descartada. |
| HttpClient(HttpMessageHandler) |
Inicializa uma nova instância da HttpClient classe com o manipulador especificado. O manipulador é descartado quando essa instância é descartada. |
Propriedades
| Nome | Description |
|---|---|
| BaseAddress |
Obtém ou define o endereço base do URI (Uniform Resource Identifier) do recurso da Internet usado ao enviar solicitações. |
| DefaultProxy |
Obtém ou define o proxy HTTP global. |
| DefaultRequestHeaders |
Obtém os cabeçalhos que devem ser enviados com cada solicitação. |
| DefaultRequestVersion |
Obtém ou define a versão HTTP padrão usada em solicitações subsequentes feitas por essa HttpClient instância. |
| DefaultVersionPolicy |
Obtém ou define a política de versão padrão para solicitações criadas implicitamente em métodos de conveniência, por exemplo, GetAsync(String) e PostAsync(String, HttpContent). |
| MaxResponseContentBufferSize |
Obtém ou define o número máximo de bytes para buffer ao ler o conteúdo da resposta. |
| Timeout |
Obtém ou define o tempo limite para aguardar antes do tempo limite da solicitação. |
Métodos
| Nome | Description |
|---|---|
| CancelPendingRequests() |
Cancele todas as solicitações pendentes nesta instância. |
| DeleteAsync(String, CancellationToken) |
Envie uma solicitação DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| DeleteAsync(String) |
Envie uma solicitação DELETE para o URI especificado como uma operação assíncrona. |
| DeleteAsync(Uri, CancellationToken) |
Envie uma solicitação DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| DeleteAsync(Uri) |
Envie uma solicitação DELETE para o URI especificado como uma operação assíncrona. |
| Dispose() |
Libera os recursos não gerenciados e descarta os recursos gerenciados usados pelo HttpMessageInvoker. (Herdado de HttpMessageInvoker) |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelos HttpClient recursos gerenciados e, opcionalmente, descartados. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetAsync(String, CancellationToken) |
Envie uma solicitação GET para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| GetAsync(String, HttpCompletionOption, CancellationToken) |
Envie uma solicitação GET para o URI especificado com uma opção de conclusão HTTP e um token de cancelamento como uma operação assíncrona. |
| GetAsync(String, HttpCompletionOption) |
Envie uma solicitação GET para o URI especificado com uma opção de conclusão HTTP como uma operação assíncrona. |
| GetAsync(String) |
Envie uma solicitação GET para o URI especificado como uma operação assíncrona. |
| GetAsync(Uri, CancellationToken) |
Envie uma solicitação GET para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| GetAsync(Uri, HttpCompletionOption, CancellationToken) |
Envie uma solicitação GET para o URI especificado com uma opção de conclusão HTTP e um token de cancelamento como uma operação assíncrona. |
| GetAsync(Uri, HttpCompletionOption) |
Envie uma solicitação GET para o URI especificado com uma opção de conclusão HTTP como uma operação assíncrona. |
| GetAsync(Uri) |
Envie uma solicitação GET para o URI especificado como uma operação assíncrona. |
| GetByteArrayAsync(String, CancellationToken) |
Envia uma solicitação GET para o URI especificado e retorna o corpo da resposta como uma matriz de bytes em uma operação assíncrona. |
| GetByteArrayAsync(String) |
Envia uma solicitação GET para o URI especificado e retorna o corpo da resposta como uma matriz de bytes em uma operação assíncrona. |
| GetByteArrayAsync(Uri, CancellationToken) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma operação assíncrona. |
| GetByteArrayAsync(Uri) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma operação assíncrona. |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetStreamAsync(String, CancellationToken) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona. |
| GetStreamAsync(String) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona. |
| GetStreamAsync(Uri, CancellationToken) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona. |
| GetStreamAsync(Uri) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona. |
| GetStringAsync(String, CancellationToken) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona. |
| GetStringAsync(String) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona. |
| GetStringAsync(Uri, CancellationToken) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona. |
| GetStringAsync(Uri) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| PatchAsync(String, HttpContent, CancellationToken) |
Envia uma solicitação PATCH com um token de cancelamento para um URI representado como uma cadeia de caracteres como uma operação assíncrona. |
| PatchAsync(String, HttpContent) |
Envia uma solicitação PATCH para um URI designado como uma cadeia de caracteres como uma operação assíncrona. |
| PatchAsync(Uri, HttpContent, CancellationToken) |
Envia uma solicitação PATCH com um token de cancelamento como uma operação assíncrona. |
| PatchAsync(Uri, HttpContent) |
Envia uma solicitação PATCH como uma operação assíncrona. |
| PostAsync(String, HttpContent, CancellationToken) |
Enviar uma solicitação POST com um token de cancelamento como uma operação assíncrona. |
| PostAsync(String, HttpContent) |
Envie uma solicitação POST para o URI especificado como uma operação assíncrona. |
| PostAsync(Uri, HttpContent, CancellationToken) |
Enviar uma solicitação POST com um token de cancelamento como uma operação assíncrona. |
| PostAsync(Uri, HttpContent) |
Envie uma solicitação POST para o URI especificado como uma operação assíncrona. |
| PutAsync(String, HttpContent, CancellationToken) |
Enviar uma solicitação PUT com um token de cancelamento como uma operação assíncrona. |
| PutAsync(String, HttpContent) |
Envie uma solicitação PUT para o URI especificado como uma operação assíncrona. |
| PutAsync(Uri, HttpContent, CancellationToken) |
Enviar uma solicitação PUT com um token de cancelamento como uma operação assíncrona. |
| PutAsync(Uri, HttpContent) |
Envie uma solicitação PUT para o URI especificado como uma operação assíncrona. |
| Send(HttpRequestMessage, CancellationToken) |
Envia uma solicitação HTTP com o token de solicitação e cancelamento especificados. |
| Send(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Envia uma solicitação HTTP com a solicitação, a opção de conclusão e o token de cancelamento especificados. |
| Send(HttpRequestMessage, HttpCompletionOption) |
Envia uma solicitação HTTP. |
| Send(HttpRequestMessage) |
Envia uma solicitação HTTP com a solicitação especificada. |
| SendAsync(HttpRequestMessage, CancellationToken) |
Enviar uma solicitação HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Enviar uma solicitação HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage, HttpCompletionOption) |
Enviar uma solicitação HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage) |
Enviar uma solicitação HTTP como uma operação assíncrona. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Métodos de Extensão
| Nome | Description |
|---|---|
| DeleteFromJsonAsync(HttpClient, String, Type, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, Uri, Type, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, String, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação DELETE para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, CancellationToken) |
Envia uma solicitação |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, CancellationToken) |
Envia uma solicitação |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação |
| GetFromJsonAsync(HttpClient, String, Type, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync(HttpClient, Uri, Type, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, String, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação GET para o Uri especificado e retorna o valor resultante da desserialização do corpo da resposta como JSON em uma operação assíncrona. |
| PatchAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
| PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
| PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
| PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
| PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
| PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
| PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envia uma solicitação POST para o Uri especificado que contém o |
| PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação POST para o Uri especificado que contém o |
| PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação POST para o Uri especificado que contém o |
| PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia uma solicitação POST para o Uri especificado que contém o |
| PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação POST para o Uri especificado que contém o |
| PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação POST para o Uri especificado que contém o |
| PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envie uma solicitação PUT para o Uri especificado que contém o |
| PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envie uma solicitação PUT para o Uri especificado que contém o |
| PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envie uma solicitação PUT para o Uri especificado que contém o |
| PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envie uma solicitação PUT para o Uri especificado que contém o |
| PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envie uma solicitação PUT para o Uri especificado que contém o |
| PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envie uma solicitação PUT para o Uri especificado que contém o |