Dies ist das erste Mal, dass ich einen WebJob-Anwendungstyp ausgeführt habe. Ich habe ein Webjob-Projekt erstellt und in der Lösung kommt es mit Program.cs
und Function.cs
.Azure WebJob Beste Vorgehensweise
Ich habe bereits Function.cs
entfernt, weil in diesem Projekt gibt es keine Warteschlange ich werde Daten von erhalten. Jetzt
in Program.cs
gibt es bereits Haupt Methode wie folgt zusammen:
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();
}
}
Wie ich verstehe, dass RunAndBlock
ist die webjob kontinuierlich zu laufen, aber ich will den Job nur einmal ausgeführt werden. Ich möchte die Ausführung von außen nach einem Zeitplan kontrollieren. Ich würde gerne wissen, wie ich meinen Code nur einmal ausführen lassen kann? Wie unten zu sehen, habe ich eine SupportService
Klasse, die RunOnePoolProvisioingCycle
hat, möchte ich diese Methode nur einmal aufrufen. Ist das der richtige Ansatz?
static void Main()
{
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
_supportService.RunOnePoolProvisioningCycle();
}
oder dieser?
static void Main()
{
var host = new JobHost();
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
host.Call(typeof(SupportService).GetMethod("SetPoolProvisioningConfigurations"));
}
oder dieser?
static void Main()
{
var host = new JobHost();
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
host.CallAsync(typeof(SupportService).GetMethod("SetPoolProvisioningConfigurations"));
}
oder sollte ich verwenden:
host.Start()
oder
host.StartAsync()?
Ich glaube, dass alle Antworten hier korrekt sind, wie meine Frage über Annäherung ist. aber ich muss einen auswählen. Diese Notiz für jeden, der diesen Beitrag sieht. –