У меня есть требование выставить веб-API с использованием Autofa c в качестве контейнера Io C в AWS Lambda-среде.
Проблема в том, что, похоже, нет способа используйте Autofa c как AWS, чтобы выставить IWebHostBuilder в их предварительно настроенной точке входа (класс LambdaEntryPoint): -
protected override void Init(IWebHostBuilder builder)
{
builder.UseStartup<Startup>();
}
Локальное тестирование работает нормально, так как класс LocalEntryPoint выглядит следующим образом: -
public class LocalEntryPoint
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder
.UseStartup<Startup>();
});
}
}
Обратите внимание на использование IHostBuilder с использованием описанных здесь методов https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html#asp - net -core-3-0-and-generi c -hosting
Can Кто-нибудь предлагает способ обойти это?