В прокси-приложении ASP.NET Core Lambda Serverless встроен автофак в конвейер, который прекрасно работает при работе через точку локализации, но после его развертывания в AWS lambda я получаю следующую ошибку, хотя я сделал явную регистрациюдля типа
ОШИБКА, ПОКАЗАННАЯ ФУНКЦИЕЙ ИСПЫТАНИЙ LAMBDA, составляет
Пн. 24 дек. 06:42:42 UTC 2018: не удалось выполнить лямбду со статусом 200 из-за ошибки функции клиента: Возникла исключительная ситуация при вызове конструктора для типа «API.LambdaEntryPoint».Проверьте внутреннее исключение для более подробной информации. Идентификатор лямбда-запроса: 1c86cf63-0747-11e9-b3dc-fd7a21520e5f Пн. 24 декабря 06:42:42 UTC 2018: Метод завершен со статусом: 502
Возможно, яотсутствуют некоторые мелочи.
Я уже зарегистрировал компонент явно, но без помощи.
public void ConfigureContainer(ContainerBuilder builder)
{
builder.RegisterType<AutofacServiceProviderFactory>().As<IServiceProviderFactory<ContainerBuilder>>();
DependencyContainer.Initialize(builder);
}
[Injectable]
public class LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction
{
public LambdaEntryPoint() : base(AspNetCoreStartupMode.Constructor)
{
}
/// <summary>
/// The builder has configuration, logging and Amazon API Gateway already configured. The startup class
/// needs to be configured in this method using the UseStartup<>() method.
/// </summary>
/// <param name="builder"></param>
protected override void Init(IWebHostBuilder builder)
{
builder
.UseStartup<Startup>();
}
public override Task<APIGatewayProxyResponse> FunctionHandlerAsync(APIGatewayProxyRequest request, ILambdaContext lambdaContext)
{
//lambdaContext
//request.
Console.WriteLine("Function handler" + request.Path);
return base.FunctionHandlerAsync(request, lambdaContext);
}
}
Поскольку он работает на локальном компьютере, я должен иметь возможность инициализировать функцию LambdaEntryPoint.(показано выше)