0

Ich habe in Azure einen Web-Job erstellt. Dieser Web-Job wird von meiner Web-API ausgelöst. Dieser Web-Job wird ebenfalls "fortlaufend" ausgeführt. Doch aus dem Moment, als ich den Web-Job starten, erhalte ich diese Fehlermeldung (in den Protokollen zu sehen):Azure-Web-Auftrag: Queue kann nicht an 'System.String' gebunden werden

Kann nicht Queue binden 'System.String'

Und mein Web eingeben Der Job versucht neu zu starten und ruft erneut die gleiche Fehlermeldung auf.

Ich habe versucht, etwas über diese Fehlermeldung zu recherchieren, aber ich finde nicht viel von irgendetwas. Hat jemand diesen Fehler schon mal gesehen? Hier ist mein Code in der functions.cs Datei:

namespace DownloadProcessor 
{ 
    public class Functions 
    { 
     public static void ProcessQueueMessage([Queue("ringclonedownloadprocessorqueue")] string message, TextWriter log) 
     { 
      log.WriteLine("Processing" + message); 
     } 
    } 
} 

Es scheint sehr einfach. Auch hier ist meine Funktion in meiner Datei Program.cs:

namespace DownloadProcessor 
{ 
    // To learn more about Microsoft Azure WebJobs SDK, please see http://go.microsoft.com/fwlink/?LinkID=320976 
    class Program 
    { 
     // Please set the following connection strings in app.config for this WebJob to run: 
     // AzureWebJobsDashboard and AzureWebJobsStorage 
     static void Main() 
     { 
      var host = new JobHost(); 
      // The following code ensures that the WebJob will be running continuously 
      host.RunAndBlock(); 
     } 
    } 
} 

Es ist alles sehr einfach erscheint, und ich habe Ähnliche Web-Arbeitsplätze geschaffen genau so. Hat jemand schon einmal diese Fehlermeldung gesehen? Irgendeine Idee, was ich falsch machen könnte?

Antwort

0

Für den Fall, dass jemand auf dieses Problem stößt, habe ich herausgefunden, was passiert (in meinem Fall). Mein Problem war, mit dieser Zeile:

public static void ProcessQueueMessage([Queue("ringclonedownloadprocessorqueue")] string message, TextWriter log) 

Dieses Web-Job war nicht eine kontinuierliche Arbeit, als ich es zum ersten Mal erstellt. Und wenn Visual Studio die Codevorlage erstellt hat, wurde [Queue("ringclonedownloadprocessorqueue")] string message als Standardparametertyp verwendet. Ich habe kürzlich den Job in einen fortlaufenden Job geändert, und ein fortlaufender Job verwendet einen etwas anderen Param-Typ (QueueTrigger anstelle von Queue). Aber als ich den Job in continuous änderte, änderte Visual Studio den Param-Typ nicht entsprechend. Ich musste hineingehen und den Param-Typ manuell aktualisieren. Das Ändern der Funktion zu diesem hat den Trick gemacht:

namespace DownloadProcessor 
{ 
    public class Functions 
    { 
     public static void ProcessQueueMessage([QueueTrigger("ringclonedownloadprocessorqueue")] string message, TextWriter log) 
     { 
      log.WriteLine("Processing" + message); 
     } 
    } 
} 
Verwandte Themen