大多数与 Azure WebJobs SDK 关联的示例都有如下所示的启动代码:
static void Main()
{
JobHost h = new JobHost();
h.RunAndBlock();
}
但是,您也可以在不创建这样的对象的情况下启动 WebJob JobHost
:
static void Main()
{
// Do something...
}
在什么场景下是JobHost
必要的?
大多数与 Azure WebJobs SDK 关联的示例都有如下所示的启动代码:
static void Main()
{
JobHost h = new JobHost();
h.RunAndBlock();
}
但是,您也可以在不创建这样的对象的情况下启动 WebJob JobHost
:
static void Main()
{
// Do something...
}
在什么场景下是JobHost
必要的?
WebJobs 和 WebJobs SDK 是两个不同的东西,尽管它们的名称相似。
这JobHost
是 Azure WebJobs SDK 的入口点。它负责索引、发布、监控和调度使用 WebJobs SDK 工件定义的功能。每当您想要调用 WebJobs SDK 函数(触发或手动/调用)时,您都需要一个JobHost
. 如果您的代码不需要 Azure Storage/ServiceBus,或者您想自己编写所有轮询/日志记录,则不需要 Azure WebJobs SDK。
当您想要与 Azure 存储(表存储、队列、blob)或 ServiceBus 交互并且想要将您的函数公开给 Azure WebJobs Dashboard时,您需要 Jobs Host Configuration 。
这是我在不使用 JobHost 的 WebJob 中使用的一些代码
static ISubscriptions _subscriptions;
static void Main()
{
Process();
}
public static void Process()
{
_subscriptions.DoWork();
}