Пример #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvcCore().AddApiExplorer();

            services.AddControllers();

            services.AddRazorPages();

            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddDbContext <ZipCoContext>(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("MSSQL"));
            });

            // Set up dependency injection for controllers and services
            services.AddScoped <IService <AccountResponse, AccountRequest>, AccountService>();
            services.AddScoped <IUserService, UserService>();
            services.AddScoped <ILogger, Logger <AccountController> >();
            services.AddScoped <ILogger, Logger <UserController> >();

            // Dependencies from Repositories project
            RepositoriesDependencies.Register(services);

            // Register the Swagger generator, defining 1 or more Swagger documents
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "ZipCo API", Version = "v1"
                });

                // Get xml comments path
                string xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                string xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);

                // Set xml path
                options.IncludeXmlComments(xmlPath);
            });
        }
Пример #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc()
            .SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_2_1)
            .AddJsonOptions(o =>
            {
                if (o.SerializerSettings.ContractResolver != null)
                {
                    var castedResolver = o.SerializerSettings.ContractResolver
                                         as DefaultContractResolver;

                    castedResolver = new CamelCasePropertyNamesContractResolver();
                }
            });

            var connectionString = Configuration["Storage:connectionString"];

            services.AddDbContext <AppCtx>(o =>
            {
                o.UseSqlServer(connectionString);
                o.EnableSensitiveDataLogging();
            });

            services.AddCors(opt =>
            {
                opt.AddPolicy("CorsPolicy", builder =>
                {
                    builder.AllowAnyMethod().AllowAnyHeader()
                    .AllowAnyOrigin().AllowCredentials()
                    .WithExposedHeaders("X-Pagination");
                });
            });

            RepositoriesDependencies.Config(services);
            ServicesDependencies.Config(services);
        }