2016-08-29 3 views
1

Ich verwende den Code von http://arcware.net/upload-and-download-files-with-web-api-and-azure-blob-storage/, um Blobs nach Azur zu laden. Mit der Methode ExecutePostProcessingAsync() möchte ich eine Methode aufrufen, die Bilder in der Größe verändert und Async-Code verwendet.So warten Sie auf die asynchrone Methode in ExecutePostProcessingAsync

Die Methode, die ich möchte es in Aussehen verwenden (geschrumpfte) wie folgt aus:

  public override Task ExecutePostProcessingAsync() 
      { 
       //some code 


       //I would like to await the image resizer method here before going any further 
       resizer.ScaleImage(); 

      //Some more code here before returning 
      return base.ExecutePostProcessingAsync(); 
      } 

Wenn i async dem Verfahren wie folgt hinzufügen: public override async Aufgabe ExecutePostProcessingAsync()

5+ Fehler wird mit Bezugsprobleme und auch der Fehler:

"ist eine asynchrone Methode, die 'Task' zurückgibt, ein Rückschlüsselwort darf nicht gefolgt von einem Objekt Ausdruck sein. Haben Sie vorhaben, 'Aufgabe' zurückzugeben?"

Fragen:

Gibt es trotzdem eine Methode innerhalb dieser Methode zu erwarten? Jede Hilfe oder Eingabe geschätzt, danke!

+0

'Rückkehr erwarten base.ExecutePostProcessingAsync();' –

Antwort

1

Das Schlüsselwort async ermöglicht die Verwendung des Schlüsselwortes await. Die korrekte Syntax besteht darin, die Task, die die Operation darstellt, nicht einfach zurückzugeben, sondern einfach await es. Beachten Sie Folgendes:

public override async Task ExecutePostProcessingAsync() 
{ 
    await resizer.ScaleImageAsync(); 
    await base.ExecutePostProcessingAsync(); 
} 

Beachten Sie, wie anstelle der Task zurückzukehren versuchen, die die Basis der Ausführung darstellt, das heißt .; base.ExecutePostProcessingAsync() wir einfach await stattdessen.

+0

Danke, versuchte, dass, aber ich bekomme die gleichen Fehlermeldungen – mattias

+0

@mattias versuchen Sie die aktualisierte Version. Kein Grund, überhaupt zurückzukehren, einfach "erwarten". –

+0

Das hat den Trick vielen Dank! – mattias

Verwandte Themen