HttpClient Klasse

Definition

Stellt eine Klasse zum Senden von HTTP-Anforderungen und Empfangen von HTTP-Antworten aus einer Ressource bereit, die von einem URI identifiziert wird.

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
Vererbung

Beispiele

// 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

Im vorherigen Codebeispiel wird ein async Task Main() Einstiegspunkt verwendet. Dieses Feature erfordert C# 7.1 oder höher.

Hinweise

Die HttpClient Klasseninstanz fungiert als Sitzung zum Senden von HTTP-Anforderungen. Eine HttpClient Instanz ist eine Sammlung von Einstellungen, die auf alle Von dieser Instanz ausgeführten Anforderungen angewendet werden. Darüber hinaus verwendet jede HttpClient Instanz einen eigenen Verbindungspool, indem sie ihre Anforderungen aus Anforderungen, die von anderen HttpClient Instanzen ausgeführt werden, isolieren.

Instanziierung

HttpClient soll einmal instanziiert und während der gesamten Lebensdauer einer Anwendung wiederverwendet werden. In .NET Core und .NET 5+ werden HttpClient-Verbindungen innerhalb der Handlerinstanz freigegeben und eine Verbindung über mehrere Anforderungen hinweg wiederverwendet. Wenn Sie eine HttpClient-Klasse für jede Anforderung instanziieren, wird die Anzahl der unter schweren Lasten verfügbaren Sockets ausgelastet. Diese Erschöpfung führt zu SocketException Fehlern.

Sie können zusätzliche Optionen konfigurieren, indem Sie einen "Handler" übergeben, z HttpClientHandler . B. (oder SocketsHttpHandler in .NET Core 2.1 oder höher), als Teil des Konstruktors. Die Verbindungseigenschaften des Handlers können nicht geändert werden, nachdem eine Anforderung übermittelt wurde, daher wäre ein Grund zum Erstellen einer neuen HttpClient-Instanz, wenn Sie die Verbindungseigenschaften ändern müssen. Wenn unterschiedliche Anforderungen unterschiedliche Einstellungen erfordern, kann dies auch dazu führen, dass eine Anwendung mit mehreren HttpClient Instanzen verfügt, wobei jede Instanz entsprechend konfiguriert ist, und dann Anforderungen für den relevanten Client ausgestellt werden.

HttpClient löst nur DNS-Einträge auf, wenn eine Verbindung erstellt wird. Es verfolgt keine Zeit für live (TTL)-Dauer, die vom DNS-Server angegeben ist. Wenn DNS-Einträge regelmäßig geändert werden, was in einigen Containerszenarien passieren kann, respektiert der Client diese Updates nicht. Um dieses Problem zu beheben, können Sie die Lebensdauer der Verbindung einschränken, indem Sie die SocketsHttpHandler.PooledConnectionLifetime Eigenschaft festlegen, sodass die DNS-Suche erforderlich ist, wenn die Verbindung ersetzt wird.

public class GoodController : ApiController
{
    private static readonly HttpClient httpClient;

    static GoodController()
    {
        var socketsHandler = new SocketsHttpHandler
        {
            PooledConnectionLifetime = TimeSpan.FromMinutes(2)
        };

        httpClient = new HttpClient(socketsHandler);
    }
}

Alternativ zum Erstellen nur einer HttpClient-Instanz können Sie auch IHttpClientFactory die HttpClient-Instanzen für Sie verwalten. Weitere Informationen finden Sie in den Richtlinien für die Verwendung von HttpClient.

Ableitung

Dies HttpClient fungiert auch als Basisklasse für spezifischere HTTP-Clients. Ein Beispiel wäre ein FacebookHttpClient, der zusätzliche Methoden für einen Facebook-Webdienst bereitstellt (z. B. eine GetFriends Methode). Abgeleitete Klassen sollten die virtuellen Methoden für die Klasse nicht außer Kraft setzen. Verwenden Sie stattdessen eine Konstruktorüberladung, die akzeptiert HttpMessageHandler , um die Voranforderungs- oder Nachanforderungsverarbeitung zu konfigurieren.

Transportprotokolle

Dies HttpClient ist eine allgemeine API, die die auf niedrigerer Ebene verfügbaren Funktionen auf jeder Plattform umschließt, auf der sie ausgeführt wird.

Auf jeder Plattform versucht, HttpClient den besten verfügbaren Transport zu verwenden:

Host/Runtime Back-End
Windows/.NET Framework HttpWebRequest
Windows/Mono HttpWebRequest
Windows/UWP Windows native WinHttpHandler (HTTP 2.0 fähig)
Windows/.NET Core 1.0-2.0 Windows native WinHttpHandler (HTTP 2.0 fähig)
Android/Xamarin Ausgewählt zur Buildzeit. Kann entweder verwendet HttpWebRequest oder konfiguriert werden, um android's native zu verwenden HttpURLConnection
iOS, tvOS, watchOS/Xamarin Ausgewählt zur Buildzeit. Kann entweder HttpWebRequest für die Verwendung von NSUrlSession Apples (HTTP 2.0-fähig) verwendet oder konfiguriert werden.
macOS/Xamarin Ausgewählt zur Buildzeit. Kann entweder HttpWebRequest für die Verwendung von NSUrlSession Apples (HTTP 2.0-fähig) verwendet oder konfiguriert werden.
macOS/Mono HttpWebRequest
macOS/.NET Core 1.0-2.0 libcurl-basiertes HTTP-Transport (HTTP 2.0 fähig)
Linux/Mono HttpWebRequest
Linux/.NET Core 1.0-2.0 libcurl-basiertes HTTP-Transport (HTTP 2.0 fähig)
.NET Core 2.1 und höher System.Net.Http.SocketsHttpHandler

Benutzer können auch einen bestimmten Transport HttpClient konfigurieren, indem sie den Konstruktor aufrufen, der HttpClient einen aufruft HttpMessageHandler.

.NET Framework & Mono

Standardmäßig wird für .NET Framework und Mono das HttpWebRequest Senden von Anforderungen an den Server verwendet. Dieses Verhalten kann geändert werden, indem sie einen anderen Handler in einer der Konstruktorüberladungen mit einem HttpMessageHandler Parameter angeben. Wenn Sie Features wie Authentifizierung oder Zwischenspeicherung benötigen, können WebRequestHandler Sie Einstellungen konfigurieren und die Instanz an den Konstruktor übergeben werden. Der zurückgegebene Handler kann an eine Konstruktorüberladung übergeben werden, die einen HttpMessageHandler Parameter enthält.

.NET Core

Ab .NET Core 2.1 stellt die System.Net.Http.SocketsHttpHandler Klasse statt HttpClientHandler die Implementierung bereit, die von HTTP-Netzwerkklassen auf höherer Ebene verwendet wird, z HttpClient. B. . Die Nutzung bietet SocketsHttpHandler eine Reihe von Vorteilen:

  • Eine beträchtliche Leistungssteigerung im Vergleich zur früheren Implementierung.
  • Die Beseitigung von Plattformabhängigkeiten, die die Bereitstellung und Wartung vereinfacht. libcurl Beispielsweise ist keine Abhängigkeit von .NET Core für macOS und .NET Core für Linux mehr.
  • Einheitliches Verhalten auf allen .NET-Plattformen.

Wenn diese Änderung nicht erwünscht ist, können Sie unter Windows weiterhin verwenden WinHttpHandler , indem Sie auf das NuGet-Paket verweisen und ihn manuell an den Konstruktor von HttpClient übergeben.

Konfigurieren des Verhaltens mithilfe von Laufzeitkonfigurationsoptionen

Bestimmte Aspekte des Verhaltens von HttpClient's Verhalten sind über Laufzeitkonfigurationsoptionen anpassbar. Das Verhalten dieser Schalter unterscheidet sich jedoch von .NET-Versionen. In .NET Core 2.1 - 3.1 können Sie beispielsweise konfigurieren, ob SocketsHttpHandler standardmäßig verwendet wird, diese Option ist jedoch ab .NET 5.0 nicht mehr verfügbar.

Verbindungspooling

HttpClientpools HTTP-Verbindungen, sofern möglich, und verwendet sie für mehrere Anforderungen. Dies kann einen erheblichen Leistungsvorteil haben, insbesondere für HTTPS-Anforderungen, da die Verbindungs-Handshake nur einmal ausgeführt wird.

Verbindungspooleigenschaften können während der HttpClientHandler Konstruktion konfiguriert oder SocketsHttpHandler übergeben werden, einschließlich MaxConnectionsPerServer, PooledConnectionIdleTimeoutund PooledConnectionLifetime.

Durch das Löschen der HttpClient-Instanz werden die geöffneten Verbindungen geschlossen und alle ausstehenden Anforderungen abgebrochen.

Hinweis

Wenn Sie gleichzeitig HTTP/1.1-Anforderungen an denselben Server senden, können neue Verbindungen erstellt werden. Auch wenn Sie die HttpClient Instanz wiederverwenden, wenn die Anzahl der Anforderungen hoch ist oder es Firewallbeschränkungen gibt, die die verfügbaren Sockets aufgrund der standardmäßigen TCP-Bereinigungszeitgeber ausschöpfen können. Um die Anzahl gleichzeitiger Verbindungen einzuschränken, können Sie die MaxConnectionsPerServer Eigenschaft festlegen. Standardmäßig ist die Anzahl gleichzeitiger HTTP/1.1-Verbindungen unbegrenzt.

Pufferzeit und Anforderungsdauer

Standardmäßig puffern HttpClient-Methoden (außer GetStreamAsync) die Antworten vom Server, indem sie den gesamten Antworttext in den Arbeitsspeicher lesen, bevor das asynchrone Ergebnis zurückgegeben wird. Diese Anforderungen werden fortgesetzt, bis eine der folgenden Aktionen auftritt:

Sie können das Pufferverhalten pro Anforderung mithilfe des Parameters ändern, der HttpCompletionOption für einige Methodenüberladungen verfügbar ist. Dieses Argument kann verwendet werden, um anzugeben, ob die Task<TResult> Antwortüberschriften nach dem Lesen der Antwortheader oder nach dem Lesen und Puffern des Antwortinhalts als abgeschlossen betrachtet werden sollen.

Wenn Ihre App, die klassen im System.Net.Http Namespace verwendet und verwandte Klassen verwendetHttpClient, große Datenmengen (50 Mb oder mehr) herunterladen möchte, sollte die App diese Downloads streamen und nicht die Standardpufferung verwenden. Wenn Sie die Standardpufferung verwenden, wird die Clientspeicherauslastung sehr groß, was möglicherweise zu einer erheblich reduzierten Leistung führt.

Threadsicherheit

Die folgenden Methoden sind threadsicher:

Proxys

Standardmäßig liest HttpClient die Proxykonfiguration von Umgebungsvariablen oder Benutzer-/Systemeinstellungen abhängig von der Plattform. Sie können dieses Verhalten ändern, indem Sie eine WebProxy Oder IWebProxy an die Reihenfolge der Rangfolge übergeben:

  • Die Eigenschaft für einen httpClientHandler, der Proxy während der HttpClient-Konstruktion übergeben wurde
  • Die DefaultProxy statische Eigenschaft (betrifft alle Instanzen)

Sie können den Proxy mithilfe UseProxyvon . Die Standardkonfiguration für Windows-Benutzer besteht darin, einen Proxy mithilfe der Netzwerkermittlung zu testen und zu erkennen, was langsam sein kann. Bei Anwendungen mit hohem Durchsatz, bei denen bekannt ist, dass ein Proxy nicht erforderlich ist, sollten Sie den Proxy deaktivieren.

Proxyeinstellungen (wie ) Credentialssollten nur geändert werden, bevor die erste Anforderung mithilfe des HttpClient vorgenommen wird. Änderungen, die nach der ersten Verwendung des HttpClients zum ersten Mal vorgenommen wurden, werden möglicherweise nicht in nachfolgenden Anforderungen angezeigt.

Zeitlimits

Sie können zum Festlegen eines Standardtimeouts für alle HTTP-Anforderungen aus der HttpClient-Instanz verwenden Timeout . Das Timeout gilt nur für die xxxAsync-Methoden, die dazu führen, dass eine Anforderung/Antwort initiiert wird. Wenn das Timeout erreicht ist, wird die Task<TResult> für diese Anforderung abgebrochen.

Sie können einige zusätzliche Timeouts festlegen, wenn Sie eine SocketsHttpHandler Instanz übergeben, wenn Sie das HttpClient-Objekt erstellen:

Eigenschaft Beschreibung
ConnectTimeout Gibt ein Timeout an, das verwendet wird, wenn eine Anforderung eine neue TCP-Verbindung benötigt, die erstellt werden soll. Wenn das Timeout auftritt, wird die Anforderung Task<TResult> abgebrochen.
PooledConnectionLifetime Gibt ein Timeout an, das für jede Verbindung im Verbindungspool verwendet werden soll. Wenn die Verbindung leer ist, wird die Verbindung sofort geschlossen; andernfalls wird die Verbindung am Ende der aktuellen Anforderung geschlossen.
PooledConnectionIdleTimeout Wenn eine Verbindung im Verbindungspool für diese lange Zeit leer ist, wird die Verbindung geschlossen.
Expect100ContinueTimeout Wenn die Anforderung über einen Header "Erwartet: 100-fortsetzung" verfügt, wird das Senden von Inhalten bis zum Timeout oder bis zu einer Antwort "100-fortsetzung" verzögert.

HttpClient löst nur DNS-Einträge auf, wenn die Verbindungen erstellt werden. Die von dem DNS-Server angegebene Dauer (TTL) wird nicht nachverfolgt. Wenn DNS-Einträge regelmäßig geändert werden können, die in einigen Containerszenarien auftreten können, können Sie die PooledConnectionLifetime Lebensdauer der Verbindung einschränken, sodass dns-Nachschlagevorgänge beim Ersetzen der Verbindung erforderlich sind.

Konstruktoren

HttpClient()

Initialisiert eine neue Instanz der HttpClient-Klasse mithilfe eines HttpClientHandler-Objekts, das bei Freigabe dieser Instanz freigegeben wird.

HttpClient(HttpMessageHandler)

Initialisiert eine neue Instanz der HttpClient-Klasse mit dem angegebenen Handler. Der Handler wird freigegeben, wenn diese Instanz freigegeben wird.

HttpClient(HttpMessageHandler, Boolean)

Initialisiert eine neue Instanz der HttpClient-Klasse mit dem bereitgestellten Handler und gibt an, ob dieser Handler freigegeben werden soll, wenn diese Instanz freigegeben wird.

Eigenschaften

BaseAddress

Ruft die Basisadresse des URI (Uniform Resource Identifier) der Internetressource ab, die verwendet wird, wenn Anforderungen gesendet werden, oder legt diese fest.

DefaultProxy

Ruft den globalen HTTP-Proxy ab oder legt diesen fest.

DefaultRequestHeaders

Ruft die Header ab, die mit jeder Anforderung gesendet werden sollen.

DefaultRequestVersion

Ruft die HTTP-Standardversion ab, die für nachfolgende Anforderungen dieser HttpClient-Klasse verwendet wird, oder legt diese fest.

DefaultVersionPolicy

Ruft die Standardversionsrichtlinie für implizit erstellte Anforderungen in Hilfsmethoden (z. B. GetAsync(String) und PostAsync(String, HttpContent)) ab oder legt sie fest.

MaxResponseContentBufferSize

Ruft beim Lesen des Antwortinhalts die maximale Anzahl zwischenzuspeichernder Bytes ab oder legt diese fest.

Timeout

Ruft die Zeitspanne ab, nach der das Zeitlimit der Anforderung überschritten ist, oder legt diese fest.

Methoden

CancelPendingRequests()

Alle ausstehenden Anforderungen für diese Instanz abbrechen.

DeleteAsync(String)

Eine DELETE-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

DeleteAsync(String, CancellationToken)

Eine DELETE-Anforderung für den angegebenen URI mit einem Abbruchtoken als asynchronen Vorgang senden.

DeleteAsync(Uri)

Eine DELETE-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

DeleteAsync(Uri, CancellationToken)

Eine DELETE-Anforderung für den angegebenen URI mit einem Abbruchtoken als asynchronen Vorgang senden.

Dispose()

Gibt die vom HttpMessageInvoker verwendeten, nicht verwalteten Ressourcen frei und verwirft die verwalteten Ressourcen.

(Geerbt von HttpMessageInvoker)
Dispose(Boolean)

Gibt die vom HttpClient verwendeten, nicht verwalteten Ressourcen frei und verwirft optional auch die verwalteten Ressourcen.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetAsync(String)

Eine GET-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

GetAsync(String, CancellationToken)

Eine GET-Anforderung für den angegebenen URI mit einem Abbruchtoken als asynchronen Vorgang senden.

GetAsync(String, HttpCompletionOption)

Eine GET-Anforderung an den angegebenen URI mit einer HTTP-Abschlussoption als asynchronen Vorgang senden.

GetAsync(String, HttpCompletionOption, CancellationToken)

Eine GET-Anforderung an den angegebenen URI mit einer HTTP-Abschlussoption und einem Abbruchtoken als asynchronen Vorgang senden.

GetAsync(Uri)

Eine GET-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

GetAsync(Uri, CancellationToken)

Eine GET-Anforderung für den angegebenen URI mit einem Abbruchtoken als asynchronen Vorgang senden.

GetAsync(Uri, HttpCompletionOption)

Eine GET-Anforderung an den angegebenen URI mit einer HTTP-Abschlussoption als asynchronen Vorgang senden.

GetAsync(Uri, HttpCompletionOption, CancellationToken)

Eine GET-Anforderung an den angegebenen URI mit einer HTTP-Abschlussoption und einem Abbruchtoken als asynchronen Vorgang senden.

GetByteArrayAsync(String)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Antworttext in einem asynchronen Vorgang als Bytearray zurück.

GetByteArrayAsync(String, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Antworttext in einem asynchronen Vorgang als Bytearray zurück.

GetByteArrayAsync(Uri)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Bytearray in einem asynchronen Vorgang zurück.

GetByteArrayAsync(Uri, CancellationToken)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Bytearray in einem asynchronen Vorgang zurück.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetStreamAsync(String)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Datenstrom in einem asynchronen Vorgang zurück.

GetStreamAsync(String, CancellationToken)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Datenstrom in einem asynchronen Vorgang zurück.

GetStreamAsync(Uri)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Datenstrom in einem asynchronen Vorgang zurück.

GetStreamAsync(Uri, CancellationToken)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Datenstrom in einem asynchronen Vorgang zurück.

GetStringAsync(String)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Zeichenfolge in einem asynchronen Vorgang zurück.

GetStringAsync(String, CancellationToken)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Zeichenfolge in einem asynchronen Vorgang zurück.

GetStringAsync(Uri)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Zeichenfolge in einem asynchronen Vorgang zurück.

GetStringAsync(Uri, CancellationToken)

Senden Sie eine GET-Anforderung an den angegebenen URI und geben Sie den Antworttext als Zeichenfolge in einem asynchronen Vorgang zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
PatchAsync(String, HttpContent)

Sendet eine PATCH-Anforderung an einen Uri, der als eine Zeichenfolge als asynchroner Vorgang festgelegt ist.

PatchAsync(String, HttpContent, CancellationToken)

Sendet eine PATCH-Anforderung mit einem Abbruchtoken an einen URI, dargestellt als Zeichenfolge als asynchroner Vorgang.

PatchAsync(Uri, HttpContent)

Sendet eine PATCH-Anforderung als asynchronen Vorgang.

PatchAsync(Uri, HttpContent, CancellationToken)

Sendet eine PATCH-Anforderung mit einem Abbruchtoken als einen asynchronen Vorgang.

PostAsync(String, HttpContent)

Eine POST-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

PostAsync(String, HttpContent, CancellationToken)

Eine POST-Anforderung mit einem Abbruchtoken als asynchronen Vorgang senden.

PostAsync(Uri, HttpContent)

Eine POST-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

PostAsync(Uri, HttpContent, CancellationToken)

Eine POST-Anforderung mit einem Abbruchtoken als asynchronen Vorgang senden.

PutAsync(String, HttpContent)

Eine PUT-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

PutAsync(String, HttpContent, CancellationToken)

Eine PUT-Anforderung mit einem Abbruchtoken als asynchronen Vorgang senden.

PutAsync(Uri, HttpContent)

Eine PUT-Anforderung an den angegebenen URI als asynchronen Vorgang senden.

PutAsync(Uri, HttpContent, CancellationToken)

Eine PUT-Anforderung mit einem Abbruchtoken als asynchronen Vorgang senden.

Send(HttpRequestMessage)

Sendet eine HTTP-Anforderung mit der angegebenen Anforderung.

Send(HttpRequestMessage, CancellationToken)

Sendet eine HTTP-Anforderung mit der angegebenen Anforderung und einem Abbruchtoken.

Send(HttpRequestMessage, CancellationToken)

Sendet eine HTTP-Anforderung mit der angegebenen Anforderung und einem Abbruchtoken.

(Geerbt von HttpMessageInvoker)
Send(HttpRequestMessage, HttpCompletionOption)

Sendet eine HTTP-Anforderung.

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Sendet eine HTTP-Anforderung mit der angegebenen Anforderung, der Abschlussoption und einem Abbruchtoken.

SendAsync(HttpRequestMessage)

Senden Sie eine HTTP-Anforderung als asynchronen Vorgang.

SendAsync(HttpRequestMessage, CancellationToken)

Senden Sie eine HTTP-Anforderung als asynchronen Vorgang.

SendAsync(HttpRequestMessage, HttpCompletionOption)

Senden Sie eine HTTP-Anforderung als asynchronen Vorgang.

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Senden Sie eine HTTP-Anforderung als asynchronen Vorgang.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Erweiterungsmethoden

DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)
DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)
DeleteFromJsonAsync(HttpClient, String, Type, CancellationToken)
DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)
DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)
DeleteFromJsonAsync(HttpClient, Uri, Type, CancellationToken)
DeleteFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)
DeleteFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)
DeleteFromJsonAsync<TValue>(HttpClient, String, CancellationToken)
DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)
DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)
DeleteFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)
GetFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync(HttpClient, String, Type, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync(HttpClient, Uri, Type, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync<TValue>(HttpClient, String, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

GetFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)

Sendet eine GET-Anforderung an den angegebenen URI und gibt den Wert zurück, der sich beim Deserialisieren des Antworttexts als JSON in einem asynchronen Vorgang ergibt.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Sendet eine PATCH-Anforderung an den angegebenen Uri, der den value serialisierten JSON-Code im Anforderungstext enthält.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Sendet eine PATCH-Anforderung an den angegebenen Uri, der den value serialisierten JSON-Code im Anforderungstext enthält.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Sendet eine PATCH-Anforderung an den angegebenen Uri, der die value Serialisierung als JSON im Anforderungstext enthält.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Sendet eine PATCH-Anforderung an den angegebenen Uri, der den value serialisierten JSON-Code im Anforderungstext enthält.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Sendet eine PATCH-Anforderung an den angegebenen Uri, der den value serialisierten JSON-Code im Anforderungstext enthält.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Sendet eine PATCH-Anforderung an den angegebenen Uri, der den value serialisierten JSON-Code im Anforderungstext enthält.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Sendet einer POST-Anforderung an den angegebenen URI, der den als JSON serialisierten value im Anforderungstext enthält.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Sendet einer POST-Anforderung an den angegebenen URI, der den als JSON serialisierten value im Anforderungstext enthält.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Sendet einer POST-Anforderung an den angegebenen URI, der den als JSON serialisierten value im Anforderungstext enthält.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Sendet einer POST-Anforderung an den angegebenen URI, der den als JSON serialisierten value im Anforderungstext enthält.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Sendet einer POST-Anforderung an den angegebenen URI, der den als JSON serialisierten value im Anforderungstext enthält.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Sendet einer POST-Anforderung an den angegebenen URI, der den als JSON serialisierten value im Anforderungstext enthält.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Senden einer PUT-Anforderung an den angegebenen URI, der den value serialisiert als JSON-Code im Anforderungstext enthält.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Senden einer PUT-Anforderung an den angegebenen URI, der den value serialisiert als JSON-Code im Anforderungstext enthält.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Senden einer PUT-Anforderung an den angegebenen URI, der den value serialisiert als JSON-Code im Anforderungstext enthält.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Senden einer PUT-Anforderung an den angegebenen URI, der den value serialisiert als JSON-Code im Anforderungstext enthält.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Senden einer PUT-Anforderung an den angegebenen URI, der den value serialisiert als JSON-Code im Anforderungstext enthält.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Senden einer PUT-Anforderung an den angegebenen URI, der den value serialisiert als JSON-Code im Anforderungstext enthält.

Gilt für

Siehe auch