4 Stimmen

Magento SOAP C# Anmeldeproblem in Visual Studio 11 (Metro)

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

Wenn ich den Login-Teil in Visual Studio 2010 erreiche, funktioniert es einwandfrei:

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

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

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

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

Kann 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 kommen als Task zurück, anstatt 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