HttpClient 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.
Fornece uma classe para enviar pedidos 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
Observações
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 uma aplicação. No .NET Core e .NET 5+, HttpClient agrupa ligações dentro da instância do handler e reutiliza uma ligação entre múltiplos pedidos. Se instanciares uma HttpClient classe para cada pedido, o número de soquetes disponíveis sob cargas pesadas será esgotado. Este esgotamento resultará em SocketException erros.
Você pode configurar opções adicionais ao passar um "handler", tal como HttpClientHandler (ou SocketsHttpHandler no .NET Core 2.1 ou posterior), como parte do construtor. As propriedades da ligação no handler não podem ser alteradas depois de um pedido ter sido submetido, por isso uma razão para criar uma nova HttpClient instância seria se precisares de alterar as propriedades da ligação. Se solicitações diferentes exigirem configurações diferentes, isso também pode levar a que um aplicativo tenha várias HttpClient instâncias, onde 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 rastreia nenhuma duração de tempo de vida (TTL) especificada 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, para 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);
}
}
Em vez de criar apenas uma HttpClient instância, também pode usar IHttpClientFactory para gerir as HttpClient instâncias por si. Para obter mais informações, consulte 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 forneça métodos adicionais específicos para um serviço web do Facebook (por exemplo, um GetFriends método). As classes derivadas não devem substituir os métodos virtuais na classe. Em vez disso, use uma sobrecarga de construtor que aceite HttpMessageHandler para configurar qualquer processamento de pré-solicitação ou pós-solicitação.
Transports
A 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 utilizar o melhor transporte disponível:
| Host/Tempo de execução | Back-end |
|---|---|
| Framework Windows/.NET | HttpWebRequest |
| Windows/Mono | HttpWebRequest |
| Windows/UWP | Windows nativo WinHttpHandler (compatível com HTTP 2.0) |
| Windows/.NET Core 1.0-2.0 | Windows nativo WinHttpHandler (compatível com HTTP 2.0) |
| macOS/Mono | HttpWebRequest |
| macOS/.NET Core 1.0-2.0 | Transporte baseado em HTTP (compatível com HTTP 2.0) |
| Linux/Mono | HttpWebRequest |
| Linux/.NET Core 1.0-2.0 | Transporte baseado em HTTP (compatível com HTTP 2.0) |
| .NET Core 2.1 e posterior | System.Net.Http.SocketsHttpHandler |
Os utilizadores também podem configurar um transporte específico para HttpClient ao invocar o construtor de HttpClient que usa 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, você pode usar WebRequestHandler para definir as configurações e a instância pode ser passada para o construtor. O manipulador retornado pode ser passado para uma sobrecarga de construtor que inclui o parâmetro HttpMessageHandler.
Núcleo do .NET
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, como HttpClientHandler, em vez de HttpClient. O uso de SocketsHttpHandler oferece uma série de vantagens:
- Uma melhoria significativa do desempenho quando comparado com a implementação anterior.
- A eliminação das dependências da plataforma, o que simplifica a implantação e a manutenção. Por exemplo,
libcurlnão é mais uma dependência do .NET Core para macOS e do .NET Core para Linux. - Comportamento consistente em todas as plataformas .NET.
Se essa alteração for indesejável, no Windows você pode continuar a usar WinHttpHandler fazendo referência ao seu pacote NuGet e passando-o para o construtor do HttpClient manualmente.
Configurar comportamento usando opções de configuração de tempo de execução
Certos aspetos do comportamento de HttpClient são customizáveis através das opções de configuração em Runtime. No entanto, o comportamento desses interruptores difere ao longo das 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 ligações HTTP sempre que possível e usa-as para mais do que um pedido. Isso pode ter um benefício significativo de desempenho, especialmente para solicitações HTTPS, já que 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, PooledConnectionIdleTimeout e PooledConnectionLifetime.
Eliminar a HttpClient instância fecha as ligações abertas e cancela quaisquer pedidos 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.
Armazenamento em buffer e tempo de duração da solicitação
Por defeito, os HttpClient métodos (exceto GetStreamAsync) armazenam em buffer as respostas do servidor, lendo todo o corpo da resposta na memória antes de devolver o resultado assíncrono. Essas solicitações continuarão até que ocorra uma das seguintes situações:
- O Task<TResult> tem sucesso e retorna um resultado.
- O Timeout é alcançado, caso em que o Task<TResult> será cancelado.
- O CancellationToken passado para algumas sobrecargas de método é ativado.
- 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 completo depois de ler apenas os cabeçalhos de resposta ou depois de ler e armazenar em buffer o conteúdo da resposta.
Se seu aplicativo que usa HttpClient classes relacionadas 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, resultando potencialmente em desempenho substancialmente reduzido.
Segurança da rosca
Os seguintes métodos são thread safe:
- CancelPendingRequests
- DeleteAsync
- GetAsync
- GetByteArrayAsync
- GetStreamAsync
- GetStringAsync
- PostAsync
- PutAsync
- SendAsync
Proxies
Por defeito, HttpClient lê a configuração do proxy a partir de variáveis de ambiente ou definições do utilizador/sistema, dependendo da plataforma. Você pode alterar esse comportamento passando a WebProxy ou IWebProxy para, em ordem de precedência:
- A propriedade Proxy em um
HttpClientHandlerpassado durante a construção deHttpClient - A propriedade estática DefaultProxy (afeta todas as instâncias)
Você pode desativar o proxy usando UseProxy. A configuração padrão para usuários do Windows é tentar detetar um proxy usando a descoberta de rede, que pode ser lenta. Para aplicativos de alta taxa de transferência em que se sabe que um proxy não é necessário, você deve desativar o proxy.
As definições do proxy (como Credentials) devem ser alteradas apenas antes de o primeiro pedido ser feito usando o HttpClient. As alterações feitas após utilizar o HttpClient na primeira vez poderão não ser refletidas em requisições subsequentes.
Timeouts
Podes usar Timeout para definir um timeout predefinido para todos os pedidos 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.
Pode definir alguns timeouts adicionais se passar uma instância SocketsHttpHandler ao criar o objeto HttpClient.
| Property | Description |
|---|---|
| ConnectTimeout | Especifica um tempo limite que é 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 é 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 tanto tempo, a conexão será fechada. |
| Expect100ContinueTimeout | Se a solicitação tiver um cabeçalho "Expect: 100-continue", ela atrasará o envio do conteúdo até o tempo limite ou até que uma resposta "100-continue" seja recebida. |
HttpClient só resolve as entradas DNS quando as ligações são criadas. Ele não rastreia nenhuma duração de tempo de vida (TTL) especificada pelo servidor DNS. Se as entradas DNS estiverem a alterar-se regularmente, o que pode acontecer em alguns cenários de contentores, poderá usar o PooledConnectionLifetime para limitar a duração de vida da conexão, de modo que a pesquisa de DNS seja necessária ao substituir a conexão.
Construtores
| Name | Descrição |
|---|---|
| HttpClient() |
Inicializa uma nova instância da HttpClient classe usando uma HttpClientHandler que é descartada quando esta instância é descartada. |
| HttpClient(HttpMessageHandler, Boolean) |
Inicializa uma nova instância da HttpClient classe com o handler fornecido e especifica se esse handler deve ser descartado quando essa instância for descartada. |
| HttpClient(HttpMessageHandler) |
Inicializa uma nova instância da HttpClient classe com o handler especificado. O handler é eliminado quando esta instância é descartada. |
Propriedades
| Name | Descrição |
|---|---|
| BaseAddress |
Obtém ou define o endereço base do Identificador Uniforme de Recursos (URI) do recurso da Internet utilizado ao enviar pedidos. |
| DefaultProxy |
Obtém ou define o proxy HTTP global. |
| DefaultRequestHeaders |
Recebe os cabeçalhos que devem ser enviados com cada pedido. |
| DefaultRequestVersion |
Obtém ou define a versão HTTP padrão usada nos pedidos subsequentes feitos por esta HttpClient instância. |
| DefaultVersionPolicy |
Obtém ou define a política de versão padrão para pedidos criados 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 intervalo de tempo para esperar antes do pedido expirar. |
Métodos
| Name | Descrição |
|---|---|
| CancelPendingRequests() |
Cancele todos os pedidos pendentes nesta instância. |
| DeleteAsync(String, CancellationToken) |
Enviar um pedido DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| DeleteAsync(String) |
Enviar um pedido DELETE para o URI especificado como uma operação assíncrona. |
| DeleteAsync(Uri, CancellationToken) |
Enviar um pedido DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| DeleteAsync(Uri) |
Enviar um pedido DELETE para o URI especificado como uma operação assíncrona. |
| Dispose() |
Liberta os recursos não geridos e dispõe dos recursos geridos usados pelo HttpMessageInvoker. (Herdado de HttpMessageInvoker) |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo HttpClient e opcionalmente elimina os recursos geridos. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetAsync(String, CancellationToken) |
Enviar um pedido GET para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| GetAsync(String, HttpCompletionOption, CancellationToken) |
Envie um pedido 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) |
Enviar um pedido GET para o URI especificado com uma opção de conclusão HTTP como uma operação assíncrona. |
| GetAsync(String) |
Enviar um pedido GET para o URI especificado como uma operação assíncrona. |
| GetAsync(Uri, CancellationToken) |
Enviar um pedido GET para o URI especificado com um token de cancelamento como uma operação assíncrona. |
| GetAsync(Uri, HttpCompletionOption, CancellationToken) |
Envie um pedido 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) |
Enviar um pedido GET para o URI especificado com uma opção de conclusão HTTP como uma operação assíncrona. |
| GetAsync(Uri) |
Enviar um pedido GET para o URI especificado como uma operação assíncrona. |
| GetByteArrayAsync(String, CancellationToken) |
Envia um pedido GET para o URI especificado e devolve o corpo de resposta como um array de bytes numa operação assíncrona. |
| GetByteArrayAsync(String) |
Envia um pedido GET para o URI especificado e devolve o corpo de resposta como um array de bytes numa operação assíncrona. |
| GetByteArrayAsync(Uri, CancellationToken) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um array de bytes numa operação assíncrona. |
| GetByteArrayAsync(Uri) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um array de bytes numa operação assíncrona. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetStreamAsync(String, CancellationToken) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um fluxo numa operação assíncrona. |
| GetStreamAsync(String) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um fluxo numa operação assíncrona. |
| GetStreamAsync(Uri, CancellationToken) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um fluxo numa operação assíncrona. |
| GetStreamAsync(Uri) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um fluxo numa operação assíncrona. |
| GetStringAsync(String, CancellationToken) |
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona. |
| GetStringAsync(String) |
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona. |
| GetStringAsync(Uri, CancellationToken) |
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona. |
| GetStringAsync(Uri) |
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| PatchAsync(String, HttpContent, CancellationToken) |
Envia um pedido 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 um pedido PATCH para um URI designado como string como operação assíncrona. |
| PatchAsync(Uri, HttpContent, CancellationToken) |
Envia um pedido PATCH com um token de cancelamento como uma operação assíncrona. |
| PatchAsync(Uri, HttpContent) |
Envia um pedido PATCH como uma operação assíncrona. |
| PostAsync(String, HttpContent, CancellationToken) |
Enviar um pedido POST com um token de cancelamento como uma operação assíncrona. |
| PostAsync(String, HttpContent) |
Enviar um pedido POST ao URI especificado como uma operação assíncrona. |
| PostAsync(Uri, HttpContent, CancellationToken) |
Enviar um pedido POST com um token de cancelamento como uma operação assíncrona. |
| PostAsync(Uri, HttpContent) |
Enviar um pedido POST ao URI especificado como uma operação assíncrona. |
| PutAsync(String, HttpContent, CancellationToken) |
Enviar um pedido PUT com um token de cancelamento como uma operação assíncrona. |
| PutAsync(String, HttpContent) |
Envie um pedido PUT para o URI especificado como uma operação assíncrona. |
| PutAsync(Uri, HttpContent, CancellationToken) |
Enviar um pedido PUT com um token de cancelamento como uma operação assíncrona. |
| PutAsync(Uri, HttpContent) |
Envie um pedido PUT para o URI especificado como uma operação assíncrona. |
| Send(HttpRequestMessage, CancellationToken) |
Envia um pedido HTTP com o token de pedido e cancelamento especificados. |
| Send(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Envia um pedido HTTP com o pedido especificado, opção de conclusão e token de cancelamento. |
| Send(HttpRequestMessage, HttpCompletionOption) |
Envia um pedido HTTP. |
| Send(HttpRequestMessage) |
Envia um pedido HTTP com o pedido especificado. |
| SendAsync(HttpRequestMessage, CancellationToken) |
Enviar um pedido HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Enviar um pedido HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage, HttpCompletionOption) |
Enviar um pedido HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage) |
Enviar um pedido HTTP como uma operação assíncrona. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Métodos da Extensão
| Name | Descrição |
|---|---|
| DeleteFromJsonAsync(HttpClient, String, Type, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, Uri, Type, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, String, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido DELETE para o Uri especificado e devolve o valor resultante da desserialização do corpo da resposta como JSON numa operação assíncrona. |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, CancellationToken) |
Envia um |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken) |
Envia um |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken) |
Envia um |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, CancellationToken) |
Envia um |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken) |
Envia um |
| GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken) |
Envia um |
| GetFromJsonAsync(HttpClient, String, Type, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync(HttpClient, Uri, Type, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, String, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| GetFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido GET para o Uri especificado e devolve o valor resultante da desserialização do corpo de resposta como JSON numa operação assíncrona. |
| PatchAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envia um pedido PATCH para o Uri especificado contendo o |
| PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envia um pedido PATCH para o Uri especificado contendo o |
| PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido PATCH para o Uri especificado contendo o |
| PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia um pedido PATCH para o Uri especificado contendo o |
| PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envia um pedido PATCH para o Uri especificado contendo o |
| PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido PATCH para o Uri especificado contendo o |
| PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envia um pedido POST para o Uri especificado contendo o |
| PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envia um pedido POST para o Uri especificado contendo o |
| PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido POST para o Uri especificado contendo o |
| PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envia um pedido POST para o Uri especificado contendo o |
| PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envia um pedido POST para o Uri especificado contendo o |
| PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envia um pedido POST para o Uri especificado contendo o |
| PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken) |
Envie um pedido PUT para o Uri especificado contendo o |
| PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken) |
Envie um pedido PUT para o Uri especificado contendo o |
| PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envie um pedido PUT para o Uri especificado contendo o |
| PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken) |
Envie um pedido PUT para o Uri especificado contendo o |
| PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken) |
Envie um pedido PUT para o Uri especificado contendo o |
| PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken) |
Envie um pedido PUT para o Uri especificado contendo o |