拦截所有webjob方法/函数调用

时间:2018-02-23 22:47:13

标签: azure-webjobs azure-webjobssdk

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

我熟悉IJobActivator,正在寻找类似于拦截方法/函数调用的东西。

1 个答案:

答案 0 :(得分:2)

  

有没有办法拦截WebJob函数调用?

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

目前它支持两种过滤器类型:调用过滤器异常过滤器

调用过滤器具有在调用目标作业函数之前和之后立即调用的Executing / Executed方法。

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

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

有关详细信息,请参阅此wiki以了解相关信息。