Exemple #1
0
        private async Task <AutofacServiceProvider> GetServiceProviderAsync(IServiceCollection services)
        {
            var serviceContext = new ServiceContext();

            serviceContext.Populate(services);

            (await serviceContext
             .RegisterAsync(e =>
            {
                var context = e.Resolve <IHttpContextAccessor>();
                return((ILambdaContext)context.HttpContext.Items[APIGatewayProxyFunction.LAMBDA_CONTEXT]);
            }, CancellationToken.None))
            .As <ILambdaContext>()
            .InstancePerLifetimeScope();

            await serviceContext.InitializeAsync(CancellationToken.None);

            var lifeTimeScope = serviceContext.BeginLifetimeScope();

            return(new AutofacServiceProvider(lifeTimeScope));
        }