WebJobs i WebJobs SDK są dwie różne rzeczy, choć ich nazwa jest podobna.
- WebJobs (bez SDK) to funkcja witryn internetowych Azure. Jest to generyczny, agnostyczny silnik języka/platformy, który może wykonywać zadania. Można pisać zadania w wielu językach, w tym: węzeł, partia, C#/VB/dowolny inny język .NET
- Zestaw SDK WebJobs to framework, tylko dla .NET, który upraszcza zadanie pisania kodu działającego z kolejkami Azure Storage , bloby i tabele oraz kolejki magistrali usług; nie jest też powiązany z funkcją WebJobs w witrynach internetowych - może działać w dowolnej aplikacji .NET.
Numer JobHost
jest punktem wejścia do zestawu SDK Azure WebJobs. Odpowiada za indeksowanie, publikowanie, monitorowanie i planowanie funkcji zdefiniowanych za pomocą artefaktów SDK WebJobs. Ilekroć chcesz wywołać funkcję WebJobs SDK (wyzwalane lub ręczne/wywołane), potrzebujesz instancji JobHost
. Jeśli Twój kod nie wymaga usługi Azure Storage/ServiceBus lub chcesz samemu zapisać wszystkie ankiety/rejestrowanie, nie potrzebujesz zestawu SDK Azure WebJobs.
Po prostu stwierdziłem, że konfiguracja JobHost jest wymagana, jeśli chcesz udostępnić swoje metody na desce rozdzielczej, aby móc je wywołać. (Zobacz https://stackoverflow.com/questions/25811659/can-i-create-an-azure-webjob-that-exposes-functions-to-tash-dashboard-but-doesnt). Tylko sugestia: możesz uprościć swój przykład, aby usunąć pierwsze 3 wiersze w Main(), ponieważ dla kogoś nowego w Webjobs może się wydawać, że twój kod jest w jakiś sposób specyficzny dla Webjobs. Oznacza to, że można znacznie uogólnić i uprościć przykład kodu, po prostu mając Process() w Main. – Emilio
Ponadto, jeśli zaktualizujesz swoją odpowiedź, dodając część o wymaganiu JobHost, jeśli chcesz udostępnić swoje metody na desce rozdzielczej w celu wywołania, zaznaczę odpowiedź jako zaakceptowaną. – Emilio