Wie zu verwenden RestSharp.NetCore in asp.net Kern
Ich haben gegangen durch die http://restsharp.org/ code Größen arbeiten. Unten ist der code von RestSharp mit aus asp.net core .
public GenericResponseObject<T> GetGeneric<T>(string operation, params KeyValuePair<string, string>[] nameValues) where T : class
{
RestClient client = new RestClient(_baseUrl)
{
Authenticator = new HttpBasicAuthenticator(_username, _password)
};
RestRequest request = new RestRequest(operation, Method.GET);
foreach (KeyValuePair<string, string> nameValue in nameValues)
{
request.AddQueryParameter(nameValue.Key, nameValue.Value);
}
IRestResponse<GenericResponseObject<T>> response = client.Execute<GenericResponseObject<T>>(request);
GenericResponseObject<T> responseObject = response.Data;
return responseObject;
}
}
Dieser code funktioniert Super für mich. Jetzt will ich implementieren gleichen code in asp.net core.
Kann ich eine Probe erhalten, Beispiel Verwendung in RestSharp asp.net core. Ich habe die Abhängigkeit RestSharp.NetCore": 105.2.3.
InformationsquelleAutor San Jaisy | 2016-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
RestSharp v106 unterstützen .NET-Standard, daher sollte Ihr code funktioniert ohne änderungen.
RestSharp.NetCore
Paket ist nicht von RestSharp team und wird von uns nicht unterstützt. Es ist auch nicht aktualisiert und der Besitzer reagiert nicht auf Nachrichten, weder den Quellcode des Pakets veröffentlicht wird.Ich wurde tatsächlich gefragt, warum die RestSharp.NetCore SDK gesaugt... Macht jetzt Sinn.
InformationsquelleAutor Alexey Zimarev
Hinzufügen zu Antwone Possen Antwort, erstellen Sie eine Erweiterung der Klasse:
Nun können Sie es verwenden, wie folgt:
Können Sie auch erstellen, Erweiterung Methoden analysiert, die Reaktion auf die Rückkehr ein starker Typ und so weiter.
ja, das ist, warum Sie die Verlängerung oben beschriebenen Methode 🙂
Kleine Anmerkung:
RestRequestAsyncHandle handle
wird nicht verwendet, könnte also weggelassen werdenInformationsquelleAutor gldraphael
Gibt es eine bestehende StackOverflow Frage und Beispiel aufruft ExecuteAsync auf RestSharp.NetCore.
ExecuteAsyncPost Beispiel in RestSharp.NetCore
Habe ich erfolgreich eingesetzt, z.B. bei der Referenzierung RestSharp.NetCore 105.2.3 mit Newtonsoft.Json-9.0.2-beta2.
Ich nahm es einen Schritt weiter und erstellte eine Erweiterung Methode für Sie. (Siehe unten).
InformationsquelleAutor Antwone Antics
Erstellte ich eine extension-Methode (siehe oben Kommentar zum Kontext).
nun kann ich verwenden, verwenden Sie es als
var response = restClient.Execute(request);
.Result
.In meinem Fall wollte ich eine synchrone version, deshalb bin ich wirklich blockiert, bis ich ein Ergebnis bekommen. Wenn ich wollte, dass die async-version, dann hätte ich benutzte einfach den ExecuteAsync () - Methode, die in den Rahmen. Ich glaube, Sie missverstanden mein use-case.
Können Sie erläutern, mehr auf "beschädigt"? Wenn das, was ich sagte, war falsch, dann möchte ich, um es zu beheben, so dass Sie kann helfen, jemand anderes.
Sicher. Für mich, implizite warten, für eine Aufgabe ist ein Fehler. IMHO sollte es explizit
.Wait
so weitere Betreuer wird leicht feststellen, dass beim refactoring/etc. Aber noch wichtiger ist, die neuesten.nuget\packages\restsharp\106.2.1\lib\netstandard2.0\RestSharp.dll
iminterface IRestClient
haben Sie: (A)ExecuteAsync(request,callback)
mit der callback-Sie hack perTaskCompletionSource
in Ihrem sync-Art, (B)ExecuteTaskAsync(IRestRequest request);
die Sie hack in sync von nur.Result
oder.Wait
, und schließlich haben Sie (C) synchroneExecute(request)
- go figure.InformationsquelleAutor bkorzynski