.net core 在Aws Lambda、Dotnet core 2.1中使用依赖项注入

.net core 在Aws Lambda、Dotnet core 2.1中使用依赖项注入,.net-core,aws-lambda,.net Core,Aws Lambda,我是新来的。试图找出如何在.NETCore2.1和AWSLambda中使用依赖项注入。以下是我的功能: public class Function { ILogger _logger; IClient _client; public Function(ILogger logger, IClient client) { _logger = logger; _client = client; } /// <su

我是新来的。试图找出如何在.NETCore2.1和AWSLambda中使用依赖项注入。以下是我的功能:

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);
    }
}
公共类函数
{
ILogger\u记录器;
IClient_客户;
公共功能(ILogger记录器、IClient客户端)
{
_记录器=记录器;
_客户=客户;
}
/// 
///一个简单的函数,它接受一个字符串并执行一个ToUpper
/// 
/// 
/// 
/// 
公共异步任务FunctionHandler(ILambdaContext上下文)
{
var response=wait_client.Test();
_logger.Log(响应);
}
}

在Aws Lambda生命周期中,我可以在哪里设置依赖项注入——初始化ServiceCollection并构建服务提供者

我建议作为构造函数的一部分或至少在从构造函数调用的函数中这样做。与每次Lambda调用调用的FunctionHandler方法相比,每个Lambda计算环境只调用一次

因此,在构造函数设置中,服务提供者将其设置为一个成员变量,然后您将有权对其进行所有Lambda调用