4 Stimmen

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

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

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

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

Wenn ich jedoch denselben Code im Visual Studio 11 versuche, gibt es mir nicht die Anmeldemöglichkeit, sondern die 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 Typ 'string' konvertieren

Jede Hilfe wäre sehr willkommen! 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 zurückgegeben, anstelle von einfach string. Wenn das passiert, haben Sie 2 Möglichkeiten, wie Sie den string oder andere Daten aus dem Task extrahieren 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