【问题标题】:Using Dependency Injection in Aws Lambda, Dotnet core 2.1在 Aws Lambda、Dotnet core 2.1 中使用依赖注入
【发布时间】:2019-01-18 03:25:18
【问题描述】:

我是 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 并构建服务提供者?

【问题讨论】:

    标签: .net-core aws-lambda


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 2017-07-14
      • 2020-11-09
      • 2020-11-30
      • 1970-01-01
      相关资源
      最近更新 更多