Vor 106.10.1 gibt der folgende Code ein Task<IRestResponse>
Client.ExecuteTaskAsync(request);
Nachdem 106.10.1 ExecuteTaskAsync als veraltet markiert hat, wird erwartet, dass der folgende Code auch Task<IRestResponse>
zurückgibt
Client.ExecuteAsync(request);
Stattdessen erzeugt der folgende Code einen Kompilierungsfehler:
Client.ExecuteAsync(request);
Fehler CS0411 Die Typargumente für Methode ' IRestClient.ExecuteAsync<T>(IRestRequest, CancellationToken)
' können nicht aus der Verwendung abgeleitet werden. Versuchen Sie, die Typargumente explizit anzugeben.
Ich habe festgestellt, dass der folgende Code kompiliert wird und Task<IRestResponse>
zurückgibt
Client.ExecuteAsync(request, request.Method);
Erst gestern habe ich alle Tests geändert, um ExecuteAsync zu verwenden, wo zuvor ExecuteTaskAsync verwendet wurde. Beim Kompilieren des Codes gab es keine Probleme.
Können Sie mehr Code bereitstellen?
Kann bestätigen. Früher gab es eine Schnittstellendefinition
IRestClient.ExecuteTaskAsync(IRestRequest)
, aber in v106.10.1 wird dies durch IRestClient.ExecuteAsync
als veraltet markiert.
Es gibt jedoch keinen direkten Ersatz für die Schnittstellenmethode IRestClient.ExecuteTaskAsync(IRestRequest)
. Der nächste ist IRestClient.ExecuteTaskAsync(IRestRequest, Method)
wie stricq erwähnt, wo Sie auch die HTTP-Methode angeben müssen.
Das ist keine große Sache, aber wenn die Methode bereits Teil der Anfrage ist, ist es sicher sinnvoll, eine Schnittstellendefinition zu haben, die sie aus der Anfrage liest? Zumal es in der mittlerweile veralteten Methode so definiert wurde 😃
Ich habe das Problem gefunden. Die nicht generische Überladung ExecuteAsync
, die IRestRequest
zurückgibt, ist kein Teil der Schnittstelle, aber sie ist auf RestClient
verfügbar. Ich habe es bereits lokal behoben.
Irgendeine Schätzung für den nächsten Release-Zeitpunkt?
Schließung wegen der neuesten Version.
Hilfreichster Kommentar
Ich habe das Problem gefunden. Die nicht generische Überladung
ExecuteAsync
, dieIRestRequest
zurückgibt, ist kein Teil der Schnittstelle, aber sie ist aufRestClient
verfügbar. Ich habe es bereits lokal behoben.