时间触发的Azure函数

时间:2020-10-26 12:23:29

标签: c# azure .net-core timer azure-functions

我已经创建了一个时间触发的azure函数来执行某些任务,我正在使用依赖注入来调用业务层方法,但是我有点困惑和卡住了如何在Run方法中使用依赖引用变量并调用BL “运行”是静态方法。

public class FunctionAccount
{
    private IDeleteAccount _deleteAccount;
    public FunctionAccount(IDeleteAccount deleteAccount)
    {
        _deleteAccount = deleteAccount;
    }

     [FunctionName("FunctionDAccount")]
    public static void Run([TimerTrigger(GlobalConstant.DeleteAccountTimer)] TimerInfo myTimer)
    {
        _deleteAccount .DeletePastYearsUsers(); // This is what I want to do, but as Run method is static I'm not able to do so
        Log.Information($"Function executed at: {DateTime.Now}");
    }


}

1 个答案:

答案 0 :(得分:0)

正如其他人提到的那样(将其作为可见性的答案),删除静态方法将使您可以在函数中使用DI。一旦设置了DI容器和函数类的构造函数以接受注入的服务,就无需对函数的结构进行任何其他更改。