static void Main(string[] args) { var serviceConfiguration = new ServiceConfiguration(); var services = serviceConfiguration.ConfigureServices(); HostFactory.Run(x => { x.Service <ConfigurationService>(s => { s.ConstructUsing(settings => { var provider = services.BuildServiceProvider(); return(provider.GetService <ConfigurationService>()); }); s.WhenStarted(tc => tc.Start()); s.WhenStopped(tc => tc.Stop()); }); x.SetDisplayName("Configuration Service"); x.SetDescription("This service allows that manage list of configuration datas"); x.SetServiceName("ConfigurationService"); x.RunAsLocalService(); x.StartAutomatically(); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { 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; }); ServiceConfiguration.ConfigurePageStore(services); services.AddDbContext <PagesContext>( options => { options.UseSqlServer( Configuration.GetConnectionString("PortalCore_Pages"), sqlServerOptions => sqlServerOptions.MigrationsAssembly("PortalCore.DataAccess")); }); var tempServicePropvider = services.BuildServiceProvider(); services.AddMvc(); services.Configure <RazorViewEngineOptions>(options => { options.ViewLocationFormats.Add("{0}" + RazorViewEngine.ViewExtension); options.FileProviders.Add(new DatabaseFileProvider(tempServicePropvider.GetService <IPageRepository>())); }); ServiceConfiguration.ConfigureServices(services); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <DataBaseSettings>(mySettings => { mySettings.ConnectionString = Configuration.GetConnectionString("DefaultConnection"); }); ServiceConfiguration.ConfigureServices(services); }
/// <summary> /// Entry point. /// </summary> /// <returns></returns> private static async Task Main() { _serviceProvider = ServiceConfiguration.ConfigureServices(new ServiceCollection(), Environment.CurrentDirectory).BuildServiceProvider(); await Task.Run(() => _serviceProvider. GetService <SshPortForwardingService>() .StartService() ); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ServiceConfiguration.ConfigureServices(services, Configuration); services.AddSwaggerGen(s => { s.SwaggerDoc("v1", new OpenApiInfo { Title = "Coding Exam API", Version = "v1" }); }); }
/// <summary> /// Регистрация сервисов. /// </summary> /// <param name="services">Сервисы.</param> public void ConfigureServices(IServiceCollection services) { services.AddApplicationInsightsTelemetry(Configuration); services.AddSingleton <Microsoft.AspNetCore.Http.IHttpContextAccessor, HttpContextAccessor>(); //для NLog Web services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser() .Build()); }); services.AddMvc(); ServiceConfiguration.ConfigureServices(services, this.Configuration); }
/// <summary> /// Регистрация сервисов. /// </summary> /// <param name="services">Сервисы.</param> public void ConfigureServices(IServiceCollection services) { services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser() .Build()); }); services.AddAntiforgery(options => { options.HeaderName = TokenAuthenticationOptions.AntiforgeryHeaderName; }); services.AddMvc(); ServiceConfiguration.ConfigureServices(services, this.Configuration); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // needed to store rate limit counters and ip rules services.AddMemoryCache(); services.AddAutoMapper(typeof(Startup)); // configure strongly typed settings object services.Configure <AppSettings>(this.Configuration.GetSection("AppSettings")); // load general configuration from appsettings.json services.Configure <IpRateLimitOptions>(this.Configuration.GetSection("IpRateLimiting")); ServiceConfiguration.ConfigureServices(services, this.Configuration); services.AddCors(); services.AddControllers().AddJsonOptions(x => x.JsonSerializerOptions.IgnoreNullValues = true); services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); }
public void ConfigureServices(IServiceCollection services) { ServiceConfiguration.Configure(Configuration.GetConnectionString("IAFProjectDatabase"), services); #region JWT token configuration var appSettingsSection = Configuration.GetSection("AppSettings"); services.Configure <AppSettings>(appSettingsSection); AppSettings appSettings = appSettingsSection.Get <AppSettings>(); ServiceConfiguration.Authenticate(services, appSettings.Secret); #endregion ServiceConfiguration.ConfigureServices(services); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2) .AddJsonOptions(opt => opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver()); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <PollConfiguration>(Configuration.GetSection(nameof(PollConfiguration))); ServiceConfiguration.ConfigureServices(services, ConfigurationManager.GetConfiguration(Configuration, "ConnectionString")); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddCors(options => { options.AddPolicy("AllowAllOrigins", builder => { builder.AllowAnyOrigin(); builder.AllowAnyHeader(); builder.AllowAnyMethod(); }); }); services.AddHealthChecks(); }
public void ConfigureServices(IServiceCollection services) { services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //авторизация-аутентификация services.AddAuthentication(options => { options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(options => { options.Authority = TokenAuthenticationOptions.Audience; options.Audience = TokenAuthenticationOptions.Audience; options.ClaimsIssuer = TokenAuthenticationOptions.Issuer; options.RequireHttpsMetadata = false; options.TokenValidationParameters = TokenAuthenticationOptions.Parameters; options.Configuration = new OpenIdConnectConfiguration(); }); //локализация по заголовку Language (en|ru) в запросе services.AddLocalization(options => options.ResourcesPath = "Resources"); services.Configure <RequestLocalizationOptions>(options => { var supportedCultures = new[] { new CultureInfo("en"), new CultureInfo("ru") }; options.DefaultRequestCulture = new RequestCulture(culture: "en", uiCulture: "en"); options.SupportedCultures = supportedCultures; options.SupportedUICultures = supportedCultures; options.RequestCultureProviders.Insert(0, new RouteCultureProvider(options.DefaultRequestCulture)); }); //стандартное services.AddMvc(); services.AddSignalR(); ServiceConfiguration.ConfigureServices(services, this.Configuration); }
public void ConfigureServices(IServiceCollection services) { services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddMvc(); ServiceConfiguration.ConfigureServices(services, this.Configuration); }
private void ConfigureExternalServices(IServiceCollection services, IMvcBuilder mvcBuilder) { ServiceConfiguration.ConfigureServices(services, mvcBuilder); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ServiceConfiguration.ConfigureServices(services, Configuration); }
public void ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.EnableEndpointRouting = false; options.Filters.Add(new ErrorHandlingFilter()); options.Filters.Add(new ValidateModelFilter()); }).SetCompatibilityVersion(CompatibilityVersion.Latest); services.AddCors(); services.Configure <IISServerOptions>(options => { options.AllowSynchronousIO = true; }); services.AddDbContext <AppDbContext>(options => { options.EnableSensitiveDataLogging(true); options.UseNpgsql(Configuration.GetConnectionString("local")); }); services.AddIdentity <User, UserRole>(options => { options.Password.RequiredLength = 8; options.Password.RequireLowercase = true; options.Password.RequireUppercase = true; options.Password.RequireNonAlphanumeric = true; options.Password.RequireDigit = true; options.User.RequireUniqueEmail = true; }).AddEntityFrameworkStores <AppDbContext>().AddDefaultTokenProviders(); services.AddJsonApi <AppDbContext>(options => { options.AllowClientGeneratedIds = true; options.DefaultAttrCapabilities = AttrCapabilities.All; options.DefaultPageSize = new PageSize(int.MaxValue); options.LoadDatabaseValues = true; options.IncludeExceptionStackTraceInErrors = true; options.SerializerSettings.ContractResolver = new DefaultContractResolver { NamingStrategy = new KebabCaseNamingStrategy() }; }, discovery => discovery.AddCurrentAssembly()); services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "Knowledge Shell API", Version = "v1" }); options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Name = "Authorization", Scheme = "Bearer", BearerFormat = "JWT", In = ParameterLocation.Header, Type = SecuritySchemeType.Http, }); options.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new string[] { } } }); }); services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.RequireHttpsMetadata = false; var signingKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SecretKey"])); options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, ValidateIssuer = false, ValidateAudience = false, IssuerSigningKey = signingKey, }; }); ServiceConfiguration.ConfigureServices(services); }
// 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) { ServiceConfiguration.ConfigureServices(services, configuration); services.AddLogging(loggingBuilder => loggingBuilder.AddSerilog(dispose: true)); }