4 Stimmen

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

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

Wenn ich den Anmeldeabschnitt in Visual Studio 2010 erreiche, funktioniert es einwandfrei:

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

Wenn ich jedoch denselben Code in Visual Studio 11 versuche, gibt es mir nicht die Option "login", sondern "loginAsync", wie folgt:

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

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

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

Jede Hilfe wäre sehr dankbar! 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 werden als Task anstelle von einfach string zurückgegeben. Wenn dies geschieht, 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 der Aufgabe 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