Stellen Sie Webjobs-Funktionen für das Dashboard ohne azurblauen Speicher bereit

7

In diese Frage gibt es ein Beispiel dafür, wie man einen Web-Job benutzt, der einige Hintergrund-Operationen durchführen kann, ohne mit azurem Tabellenspeicher zu interagieren.

Ich habe versucht, den Code in der Antwort zu replizieren, aber es wirft den folgenden Fehler auf:

'' Void ScheduleNotifications () 'kann nicht vom Azure WebJobs SDK aus aufgerufen werden. Fehlen die Azure WebJobs SDK-Attribute? '

In dieser Link haben sie einen ähnlichen Fehler und in einer der Antworten heißt es, dass dies in der Version 0.4.1-Beta behoben wurde. Ich führe die 0.5.0-Beta-Version und ich erfahre den Fehler.

Hier ist eine Kopie meines Codes:

%Vor%

Ich möchte wissen, ob mir etwas fehlt oder ob das immer noch ein Fehler im Webjobs SDK ist.

Update: Nach Victors Antwort muss die Programmklasse öffentlich sein.

Arbeitscode:

%Vor%     
lopezbertoni 15.09.2014, 00:36
quelle

2 Antworten

18

Sofern Sie keinen benutzerdefinierten Typ-Locator verwenden, muss eine Funktion alle folgenden Bedingungen erfüllen:

  • muss öffentlich sein
  • es muss statisch sein
  • muss nicht abstrakt sein
  • es muss in einer nicht abstrakten Klasse sein
  • es muss in einer öffentlichen Klasse sein

Ihre Funktion erfüllt nicht die letzte Bedingung. Wenn Sie die Klasse veröffentlichen, wird es funktionieren.

Wenn Sie webjobs sdk 0.5.0-beta verwenden und ein Programm ausführen, das nur den Code in Ihrem Beispiel enthält, wird eine Meldung angezeigt, dass keine Funktionen gefunden wurden.

    
Victor Hurdugaci 15.09.2014, 01:50
quelle
0

Kam hier auf der Suche nach einer Antwort, fand sie aber in der obigen Antwort nicht ganz, obwohl alles, was er sagte, wahr ist. Mein Problem war, dass ich versehentlich die eingehenden Eigenschaftsnamen eines Azure-Web-Jobs änderte, so dass sie NICHT mit den Attributen des Objekts übereinstimmten, das die Funktion fangen sollte. Duh!

Für das konkrete Beispiel:

Der Web-Job hat auf der Grundlage dieser Klasse auf eine Warteschlangennachricht gewartet:

%Vor%

Aber meine öffentliche statische Async-Klasse in der Functions.cs-Datei enthielt diese als Funktionsdefinition, wobei die deklarierten Parameter nicht mit den Namen innerhalb der Queue-Nachrichtenklasse übereinstimmten, auf die sie gewartet hatte:

%Vor%

Wenn Sie auf dieses Problem stoßen, überprüfen Sie, ob die Parameter- und Attributnamen übereinstimmen.

    
Brian 23.03.2016 08:29
quelle

Tags und Links