예제 #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            services.AddCors();
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "Star Wars Api", Version = "v1"
                });
            });
            services.AddJwt();

            var builder = new ContainerBuilder();

            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
            .AsImplementedInterfaces();

            InfrastructureContainer.Build(builder, Configuration);
            ServiceContainer.Build(builder);

            builder.Populate(services);
            Container = builder.Build();

            return(new AutofacServiceProvider(Container));
        }
예제 #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().AddDefaultJsonOptions();
            services.AddJwt();
            services.AddAuthorization(x => x.AddPolicy("admin", p => p.RequireRole("admin")));
            services.AddCors(options =>
            {
                options.AddPolicy(CorsPolicy, cors =>
                                  cors.AllowAnyOrigin()
                                  .AllowAnyMethod()
                                  .AllowAnyHeader()
                                  .AllowCredentials()
                                  .WithExposedHeaders(Headers));
            });
            var builder = new ContainerBuilder();

            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
            .AsImplementedInterfaces();
            InfrastructureContainer.Load(builder);
            ServicesContainer.Load(builder);
            builder.Populate(services);
            Container = builder.Build();

            return(new AutofacServiceProvider(Container));
        }
예제 #3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            var builder = new ContainerBuilder();

            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
            .AsImplementedInterfaces();

            InfrastructureContainer.Build(builder);
            ServiceContainer.Build(builder);

            builder.Populate(services);
            Container = builder.Build();

            return(new AutofacServiceProvider(Container));
        }
예제 #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddJsonOptions(o => o.SerializerSettings.Formatting = Formatting.Indented);
            services.AddMemoryCache();
            services.AddResponseCaching();
            services.Configure <AppOptions>(Configuration.GetSection("app"));
            services.Configure <JwtOptions>(Configuration.GetSection("jwt"));
            services.Configure <SqlOptions>(Configuration.GetSection("sql"));

            services.AddEntityFrameworkSqlServer()
            .AddEntityFrameworkInMemoryDatabase()
            .AddDbContext <MyStoreContext>();

            services.AddAuthorization(a => a.AddPolicy("admin", p => p.RequireRole("admin")));

            var jwtOptions = new JwtOptions();

            Configuration.GetSection("jwt").Bind(jwtOptions);

            services.AddAuthentication()
            .AddJwtBearer(cfg =>
            {
                cfg.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidIssuer      = jwtOptions.Issuer,
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtOptions.SecretKey)),
                    ValidateAudience = false,
                    //ValidateLifetime = true
                };
            });

            var builder = new ContainerBuilder();

            builder.Populate(services);
            builder.RegisterAssemblyTypes(typeof(Startup).Assembly)
            .AsImplementedInterfaces()
            .InstancePerLifetimeScope();
            ServicesContainer.Update(builder);
            InfrastructureContainer.Update(builder);
            Container = builder.Build();

            return(new AutofacServiceProvider(Container));
        }
예제 #5
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddCustomAuthentication();
            services.AddCustomMvc();
            services.AddRedis();

            var builder = new ContainerBuilder();

            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
            .AsImplementedInterfaces();
            InfrastructureContainer.Load(builder);
            ServicesContainer.Load(builder);

            builder.Populate(services);
            Container = builder.Build();

            return(new AutofacServiceProvider(Container));
        }