我已经创建了一个时间触发的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}");
}
}
答案 0 :(得分:0)
正如其他人提到的那样(将其作为可见性的答案),删除静态方法将使您可以在函数中使用DI。一旦设置了DI容器和函数类的构造函数以接受注入的服务,就无需对函数的结构进行任何其他更改。