Подтвердить что ты не робот

Azure WebJobs SDK - в каких сценариях создается объект JobHost?

В большинстве образцов, связанных с SDK Azure WebJobs, есть код запуска, который выглядит следующим образом:

static void Main()
{
    JobHost h = new JobHost();
    h.RunAndBlock();
}

Однако вы также можете запустить WebJob без создания объекта JobHost следующим образом:

static void Main()
{
    // Do something...
}

В каких сценариях нужен JobHost?

4b9b3361

Ответ 1

Вам нужна конфигурация хоста заданий, если вы хотите взаимодействовать с Azure Storage (хранилище таблиц, очереди, blobs) или ServiceBus , и если вы хотите открыть свои функции на информационной панели Azure WebJobs.

Это код, который я использую в WebJob, который не использует JobHost

static ISubscriptions _subscriptions;

static void Main()
{
    Process();
}

public static void Process()
{
    _subscriptions.DoWork();
}

Ответ 2

WebJobs и WebJobs SDK - это две разные вещи, хотя их имя похоже.

  • WebJobs (без SDK) - это особенность веб-сайтов Azure. Это универсальный, агностический механизм языка/платформы, который может выполнять задания. Вы можете писать задания на многих языках, включая: node, пакетный, С#/VB/любой другой язык .NET
  • WebJobs SDK - это инфраструктура, только для .NET, которая упрощает задачу написания кода, который работает с очередями, блоками и таблицами Azure Storage и очередями Service Bus; Кроме того, он не привязан к веб-сайтам WebJobs - он может работать в любом приложении .NET.

JobHost - это точка входа для SDK Azure WebJobs. Он отвечает за индексацию, публикацию, мониторинг и планирование функций, определенных с помощью артефактов WebJobs SDK. Всякий раз, когда вы хотите вызвать функцию SDK WebJobs (вызванную или ручную/вызванную), вам нужен экземпляр JobHost. Если вашему коду не требуется Azure Storage/ServiceBus, или если вы хотите написать все опросы/протоколирование самостоятельно, вам не нужен SDK Azure WebJobs.