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
O exemplo de código anterior usa um async Task Main()
ponto de entrada. Esse recurso requer o C# 7.1 ou posterior.
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.
Instanciação
HttpClient destina-se a ser instanciado uma vez e reutilizado durante toda a vida útil de um aplicativo. No .NET Core e no .NET 5+, o 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 sob cargas pesadas será esgotado. Esse esgotamento resultará em SocketException erros.
Você pode configurar opções adicionais passando um "manipulador", 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 instância httpClient seria se você precisasse 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 controla as durações do 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 propriedade SocketsHttpHandler.PooledConnectionLifetime, de modo que a pesquisa 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 instância do HttpClient, você também pode usar IHttpClientFactory para gerenciar as instâncias httpClient para você. Para obter mais informações, consulte Diretrizes para usar o 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 aceite HttpMessageHandler configurar qualquer processamento de pré-solicitação ou pós-solicitação.
Transportes
O HttpClient é uma API de alto nível que encapsula a funcionalidade de nível inferior disponível em cada plataforma em que ela é executada.
Em cada plataforma, HttpClient tenta usar o melhor transporte disponível:
Host/Runtime | Back-end |
---|---|
Windows/.NET Framework | HttpWebRequest |
Windows/Mono | HttpWebRequest |
Windows/UWP | Nativo do WinHttpHandler Windows (compatível com HTTP 2.0) |
Windows/.NET Core 1.0-2.0 | Nativo do WinHttpHandler Windows (compatível com HTTP 2.0) |
Android/Xamarin | Selecionado em tempo de build. Pode usar HttpWebRequest ou ser configurado para usar o nativo do Android HttpURLConnection |
iOS, tvOS, watchOS/Xamarin | Selecionado em tempo de build. Pode usar HttpWebRequest ou ser configurado para usar o da NSUrlSession Apple (compatível com HTTP 2.0) |
macOS/Xamarin | Selecionado em tempo de build. Pode usar HttpWebRequest ou ser configurado para usar o da NSUrlSession Apple (compatível com HTTP 2.0) |
macOS/Mono | HttpWebRequest |
macOS/.NET Core 1.0-2.0 | libcurl Transporte HTTP baseado em (compatível com HTTP 2.0) |
Linux/Mono | HttpWebRequest |
Linux/.NET Core 1.0-2.0 | libcurl Transporte HTTP baseado em (compatível com HTTP 2.0) |
.NET Core 2.1 e posteriores | System.Net.Http.SocketsHttpHandler |
Os usuários também podem configurar um transporte específico para HttpClient invocando o HttpClient construtor que usa um HttpMessageHandler.
&.NET Framework Mono
Por padrão, em .NET Framework e 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 HttpMessageHandler parâmetro .
.NET Core
A partir do .NET Core 2.1, a System.Net.Http.SocketsHttpHandler classe em vez de HttpClientHandler fornece a implementação usada por classes de rede HTTP de nível superior, como 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,
libcurl
nã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 comportamento de HttpClientsão personalizáveis por meio de opções de configuração de runtime. No entanto, o comportamento dessas opções é diferente por meio de 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.0.
Pool de conexões
O 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, pois o handshake de conexão é feito apenas uma vez.
As propriedades do pool de conexões podem ser configuradas em um HttpClientHandler ou SocketsHttpHandler passadas durante a construção, incluindo MaxConnectionsPerServer, PooledConnectionIdleTimeoute PooledConnectionLifetime.
A eliminação da instância httpClient fecha as conexões abertas e cancela todas as solicitações pendentes.
Observação
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.
Tempo de vida de buffer e solicitação
Por padrão, os métodos HttpClient (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 dos seguintes procedimentos:
- O Task<TResult> é bem-sucedido e retorna um resultado.
- O Timeout é alcançado, caso em que o Task<TResult> será cancelado.
- A CancellationToken passável para algumas sobrecargas de método é disparada.
- CancelPendingRequests() é chamado.
- 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 e classes relacionadas HttpClient no System.Net.Http namespace pretende baixar grandes quantidades de dados (50 megabytes ou mais), o aplicativo deve transmitir esses downloads e não usar o buffer padrão. Se você usar o buffer padrão, o uso de memória do cliente ficará muito grande, potencialmente resultando em um desempenho substancialmente reduzido.
Acesso thread-safe
Os seguintes métodos são thread safe:
- CancelPendingRequests
- DeleteAsync
- GetAsync
- GetByteArrayAsync
- GetStreamAsync
- GetStringAsync
- PostAsync
- PutAsync
- SendAsync
Proxies
Por padrão, 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 Proxy propriedade em um HttpClientHandler passou durante a construção do HttpClient
- A DefaultProxy propriedade estática (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 o uso do HttpClient pela primeira vez podem não ser refletidas em solicitações subsequentes.
Tempos limite
Você pode usar Timeout para definir um tempo limite padrão para todas as solicitações HTTP da instância httpClient. 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, o Task<TResult> para essa solicitação será cancelado.
Você pode definir alguns tempos limite adicionais se passar uma SocketsHttpHandler instância ao construir o objeto HttpClient:
Propriedade | Descrição |
---|---|
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á imediatamente fechada; 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 "Esperar: 100 continuar", 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 controla as durações do 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
HttpClient() |
Inicializa uma nova instância da classe HttpClient usando um HttpClientHandler que é descartado quando essa instância é descartada. |
HttpClient(HttpMessageHandler) |
Inicializa uma nova instância da classe HttpClient com o manipulador especificado. O manipulador é descartado quando essa instância é descartada. |
HttpClient(HttpMessageHandler, Boolean) |
Inicializa uma nova instância da classe HttpClient com o manipulador fornecido e especifica se esse manipulador deverá ser descartado quando essa instância for descartada. |
Propriedades
BaseAddress |
Obtém ou define o endereço básico 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 posteriores feitas por essa instância de HttpClient. |
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 armazenados no buffer ao ler o conteúdo da resposta. |
Timeout |
Obtém ou define o período de tempo de espera antes que a solicitação expire. |
Métodos
CancelPendingRequests() |
Cancele todas as solicitações pendentes nessa instância. |
DeleteAsync(String) |
Envie uma solicitação DELETE para o URI especificado como uma operação assíncrona. |
DeleteAsync(String, 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. |
DeleteAsync(Uri, CancellationToken) |
Envie uma solicitação DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona. |
Dispose() |
Libera os recursos não gerenciados e descarta aqueles gerenciados usados pelo HttpMessageInvoker. (Herdado de HttpMessageInvoker) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo HttpClient e, opcionalmente, descarta os recursos gerenciados. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetAsync(String) |
Envie uma solicitação GET para o URI especificado como uma operação assíncrona. |
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) |
Envie uma solicitação GET para o URI especificado com uma opção de conclusão de HTTP 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 de HTTP e um token de cancelamento como uma operação assíncrona. |
GetAsync(Uri) |
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) |
Envie uma solicitação GET para o URI especificado com uma opção de conclusão de HTTP 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 de HTTP e um token de cancelamento como 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(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(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. |
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. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
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(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(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. |
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. |
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(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(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. |
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. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
PatchAsync(String, HttpContent) |
Envia uma solicitação PATCH a um URI designado como uma cadeia de caracteres, como uma operação assíncrona. |
PatchAsync(String, HttpContent, CancellationToken) |
Envia uma solicitação PATCH com um token de cancelamento a um URI representado como uma cadeia de caracteres, como uma operação assíncrona. |
PatchAsync(Uri, HttpContent) |
Envia uma solicitação PATCH 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. |
PostAsync(String, HttpContent) |
Envie uma solicitação POST para o URI especificado como uma operação assíncrona. |
PostAsync(String, HttpContent, CancellationToken) |
Envie 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. |
PostAsync(Uri, HttpContent, CancellationToken) |
Envie uma solicitação POST 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(String, HttpContent, CancellationToken) |
Envie 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. |
PutAsync(Uri, HttpContent, CancellationToken) |
Envie uma solicitação PUT com um token de cancelamento como uma operação assíncrona. |
Send(HttpRequestMessage) |
Envia uma solicitação HTTP com a solicitação especificada. |
Send(HttpRequestMessage, CancellationToken) |
Envia uma solicitação HTTP com a solicitação e o token de cancelamento especificados. |
Send(HttpRequestMessage, CancellationToken) |
Envia uma solicitação HTTP com a solicitação e o token de cancelamento especificados. (Herdado de HttpMessageInvoker) |
Send(HttpRequestMessage, HttpCompletionOption) |
Envia uma solicitação HTTP. |
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. |
SendAsync(HttpRequestMessage) |
Envie uma solicitação HTTP como uma operação assíncrona. |
SendAsync(HttpRequestMessage, CancellationToken) |
Envie uma solicitação HTTP como uma operação assíncrona. |
SendAsync(HttpRequestMessage, HttpCompletionOption) |
Envie uma solicitação HTTP como uma operação assíncrona. |
SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Envie 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
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, 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, 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(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, 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, 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, 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. |
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. |
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 um 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 um JSON em uma operação assíncrona. |
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 um 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 um 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 um 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 um 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 um 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 um 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 um 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 um 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 um 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 um JSON em uma operação assíncrona. |
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, String, 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 |
PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia uma solicitação PATCH para o Uri especificado que contém o |
PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação POST ao URI especificado que contém o |
PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação POST ao URI especificado que contém o |
PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envia uma solicitação POST ao URI especificado que contém o |
PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação POST ao URI especificado que contém o |
PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação POST ao URI especificado que contém o |
PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia uma solicitação POST ao URI especificado que contém o |
PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação PUT para o URI especificado que contém o |
PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação PUT para o URI especificado que contém o |
PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envia uma solicitação PUT para o URI especificado que contém o |
PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envia uma solicitação PUT para o URI especificado que contém o |
PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia uma solicitação PUT para o URI especificado que contém o |
PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia uma solicitação PUT para o URI especificado que contém o |