可以在调用 RunAndBlock 后将动态生成的函数绑定到 Azure WebJobs JobHost 吗?

Possible to bind dynamically generated functions to Azure WebJobs JobHost after RunAndBlock called?

一旦我通过 RunAndBlock 启动了 JobHost,是否可以将函数动态绑定到它?我对使用服务总线执行此操作特别感兴趣。我正在设想这样一种场景,在这种情况下,服务会收到通知,告知特定队列上有一种新类型的消息可用,以及在收到该消息时应该执行的功能。反过来也很好 - 即告诉 运行 JobHost 停止处理特定类型的消息。这可能吗?

对于您的第一个问题,不,您不能 add/bind 函数到 运行 JobHost。各种队列等的所有 "listeners" 仅在 启动时间 初始化并启动。开始监听什么队列等的所有元数据都是从启动时的编译时元数据确定的。如果您愿意,可以在我们的问题列表 here - it's an interesting (though uncommon) scenario. We are working on something similar to what you ask for in WebJobs.Script 中提出功能请求,但这不是核心 WebJobs SDK。 WebJobs.Script 定义外部元数据文件中的所有 host/function 元数据。因此,如果添加了新脚本 + 元数据(例如,新队列的函数),主机将自动重启。

关于您的第二个问题,请查看 DisableAttribute(参见 Release Notes)。它允许您通过应用程序设置 enable/disable 特定功能。请注意,这也是一个启动时间检查,但是应用程序设置的更改无论如何都会导致重新启动。