拦截所有 webjob method/function 调用
Intercept all webjob method/function calls
有没有办法拦截 WebJob 函数调用?我想将它包装一次,而不是用重复的代码来分析函数调用,从而使我的代码库(十几个项目和数百个触发器)乱七八糟。
我熟悉 IJobActivator
,正在寻找与拦截 method/function 呼叫有关的类似内容。
Is there a way to intercept a WebJob function call?
您可以使用函数过滤器,它允许您封装公共逻辑以在许多不同的函数之间共享。
目前它支持两种过滤器类型:Invocation Filters和Exception Filters.
调用过滤器具有 Executing
和 Executed
方法,它们在调用目标作业函数之前和之后立即调用。
您可以通过使用以下代码向 JobHostConfiguration 服务集合添加过滤器来全局应用过滤器:
var extensions = config.GetService<IExtensionRegistry>();
extensions.RegisterExtension<IFunctionInvocationFilter>(myFilter);
更多详情,您可以阅读这篇wiki来学习。
有没有办法拦截 WebJob 函数调用?我想将它包装一次,而不是用重复的代码来分析函数调用,从而使我的代码库(十几个项目和数百个触发器)乱七八糟。
我熟悉 IJobActivator
,正在寻找与拦截 method/function 呼叫有关的类似内容。
Is there a way to intercept a WebJob function call?
您可以使用函数过滤器,它允许您封装公共逻辑以在许多不同的函数之间共享。
目前它支持两种过滤器类型:Invocation Filters和Exception Filters.
调用过滤器具有 Executing
和 Executed
方法,它们在调用目标作业函数之前和之后立即调用。
您可以通过使用以下代码向 JobHostConfiguration 服务集合添加过滤器来全局应用过滤器:
var extensions = config.GetService<IExtensionRegistry>();
extensions.RegisterExtension<IFunctionInvocationFilter>(myFilter);
更多详情,您可以阅读这篇wiki来学习。