拦截所有 webjob method/function 调用

Intercept all webjob method/function calls

有没有办法拦截 WebJob 函数调用?我想将它包装一次,而不是用重复的代码来分析函数调用,从而使我的代码库(十几个项目和数百个触发器)乱七八糟。

我熟悉 IJobActivator,正在寻找与拦截 method/function 呼叫有关的类似内容。

Is there a way to intercept a WebJob function call?

您可以使用函数过滤器,它允许您封装公共逻辑以在许多不同的函数之间共享。

目前它支持两种过滤器类型:Invocation FiltersException Filters.

调用过滤器具有 ExecutingExecuted 方法,它们在调用目标作业函数之前和之后立即调用。

您可以通过使用以下代码向 JobHostConfiguration 服务集合添加过滤器来全局应用过滤器:

var extensions = config.GetService<IExtensionRegistry>();
extensions.RegisterExtension<IFunctionInvocationFilter>(myFilter);

更多详情,您可以阅读这篇wiki来学习。