在AWS Lambda,Dotnet Core 2.1中使用依赖注入

时间:2018-08-10 13:33:33

标签: .net-core aws-lambda

我是Aws Lambda的新手。试图弄清楚如何在.NET Core 2.1和Aws Lambda中使用依赖注入。这是我的功能:

public class Function
{
    ILogger _logger;
    IClient _client;

    public Function(ILogger logger, IClient client)
    {
        _logger = logger;
        _client = client;
    }

    /// <summary>
    /// A simple function that takes a string and does a ToUpper
    /// </summary>
    /// <param name="input"></param>
    /// <param name="context"></param>
    /// <returns></returns>
    public async Task FunctionHandler(ILambdaContext context)
    {
        var response = await _client.Test();
        _logger.Log(response);
    }
}

在Aws Lambda生命周期的哪里可以设置依赖注入-初始化ServiceCollection并构建服务提供者?

1 个答案:

答案 0 :(得分:0)

我建议将其作为构造函数的一部分或至少在构造函数调用的函数中进行。在每个Lambda计算环境中只能调用一次,而在每次Lambda调用中只能调用一次FunctionHandler方法。

因此,在构造函数设置服务提供程序中,将其设置为成员变量,然后您将可以访问所有Lambda调用。