WebJobs e WebJobs SDK sono due cose diverse, anche se il loro nome è simile.
- WebJobs (senza SDK) è una funzionalità dei siti Web di Azure. È un motore agnostico generico, linguistico/di piattaforma, in grado di eseguire lavori. È possibile scrivere lavori in molte lingue, tra cui: nodo, batch, C#/VB/qualsiasi altro linguaggio .NET
- WebJobs SDK è un framework, solo per .NET, che semplifica l'attività di scrittura del codice che funziona con le code di Archiviazione di Azure. , BLOB e tabelle e code del bus di servizio; inoltre, non è legato alla funzionalità WebJobs dei siti Web - può essere eseguito in qualsiasi applicazione .NET.
Il JobHost
è il punto di ingresso per l'azzurro WebJobs SDK. È responsabile per l'indicizzazione, la pubblicazione, il monitoraggio e la pianificazione delle funzioni definite utilizzando gli artefatti di WebJobs SDK. Ogni volta che si desidera richiamare una funzione di WebJobs SDK (attivata o manuale/chiamata) è necessaria un'istanza di JobHost
. Se il codice non richiede Azure Storage/ServiceBus o se si desidera scrivere autonomamente tutti i polling/registrazione, non è necessario l'SDK WebJobs di Azure.
fonte
2014-09-13 01:57:29
Ho anche scoperto che la configurazione JobHost è necessaria se si desidera esporre i metodi al dashboard in modo da poterli richiamare. (Vedi https://stackoverflow.com/questions/25811659/can-i-create-an-azure-webjob-that-exposes-functions-to-the-dashboard-but-doesnt). Solo un suggerimento: potresti voler semplificare il tuo esempio per rimuovere le prime 3 righe sotto Main() perché per chi è nuovo a Webjobs potrebbe sembrare che il tuo codice sia in qualche modo specifico di Webjobs. Ciò significa che potresti generalizzare e semplificare in modo significativo il tuo esempio di codice semplicemente avendo Process() in Main. – Emilio
Inoltre, se si aggiorna la risposta per includere la parte relativa alla richiesta di JobHost se si desidera esporre i propri metodi alla dashboard per l'invocazione, contrassegnerò la risposta come accettata. – Emilio