4 Stimmen

Magento SOAP C# Login Problem in Visual Studio 11 (Metro)

Ich versuche, eine Metro-App zu erstellen, die Produkte aus einer Magento-Installation abrufen kann.

Wenn ich zum Anmeldeabschnitt in Visual Studio 2010 komme, funktioniert es einwandfrei:

string sessionId = proxy.login("Benutzer", "Passwort");

Wenn ich jedoch denselben Code in Visual Studio 11 versuche, gibt es mir nicht die Anmeldemöglichkeit, sondern die loginAsync-Funktion, wie folgt:

string sessionId = proxy.loginAsync("Benutzer", "Passwort");

Wenn ich diese Option verwende (die die gültigen Parameter des regulären "login" hat), gibt VS11 mir diesen Fehler:

Kann den Typ 'System.Threading.Tasks.Task' nicht implizit in 'string' konvertieren

Jede Hilfe würde sehr geschätzt werden! Vielen Dank.

2voto

JaredPar Punkte 699699

Versuchen Sie den await Modifier zu verwenden

loginResponse sessionId = await proxy.loginAsync("Benutzer", "Passwort");

BEARBEITEN

Es sieht so aus, als ob viele der von Ihnen verwendeten APIs von synchron zu asynchron gewechselt sind. Die asynchronen Versionen kommen als Task zurück, anstelle von einfach string. Wenn das passiert, haben Sie 2 Möglichkeiten, wie Sie den string oder andere Daten aus dem Task erhalten können.

  • Verwenden Sie await auf dem Ausdruck. Dies ist nicht blockierend
  • Rufen Sie .Result auf dem Task auf. Dies ist blockierend

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X