public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); services.AddControllers() .AddXmlSerializerFormatters() .AddJsonOptions(options => { options.JsonSerializerOptions.WriteIndented = false; options.JsonSerializerOptions.IgnoreNullValues = true; options.JsonSerializerOptions.Converters.Add(new ApiDateTimeConverter()); }); services.AddAuthentication("cookie") .AddScheme <AuthenticationSchemeOptions, CookieAuthHandler>("cookie", a => { }) .AddScheme <AuthenticationSchemeOptions, ConfirmAuthHandler>("confirm", a => { }); var builder = services.AddMvcCore(config => { var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build(); config.Filters.Add(new AuthorizeFilter(policy)); config.Filters.Add(new TypeFilterAttribute(typeof(TenantStatusFilter))); config.Filters.Add(new TypeFilterAttribute(typeof(PaymentFilter))); config.Filters.Add(new TypeFilterAttribute(typeof(IpSecurityFilter))); config.Filters.Add(new TypeFilterAttribute(typeof(ProductSecurityFilter))); config.Filters.Add(new CustomResponseFilterAttribute()); config.Filters.Add(new CustomExceptionFilterAttribute()); config.Filters.Add(new TypeFilterAttribute(typeof(FormatFilter))); config.OutputFormatters.RemoveType <XmlSerializerOutputFormatter>(); config.OutputFormatters.Add(new XmlOutputFormatter()); }); var diHelper = new DIHelper(services); diHelper .AddConfirmAuthHandler() .AddCookieAuthHandler() .AddCultureMiddleware() .AddIpSecurityFilter() .AddPaymentFilter() .AddProductSecurityFilter() .AddTenantStatusFilter(); diHelper.AddNLogManager("ASC.Api", "ASC.Web"); diHelper .AddAuthenticationController() .AddModulesController() .AddPortalController() .AddSettingsController() .AddSmtpSettingsController(); services.AddAutofac(Configuration, HostEnvironment.ContentRootPath); }
public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); services.AddControllers() .AddXmlSerializerFormatters() .AddJsonOptions(options => { options.JsonSerializerOptions.WriteIndented = false; options.JsonSerializerOptions.IgnoreNullValues = true; options.JsonSerializerOptions.Converters.Add(new ApiDateTimeConverter()); }); services.AddAuthentication("cookie") .AddScheme <AuthenticationSchemeOptions, CookieAuthHandler>("cookie", a => { }) .AddScheme <AuthenticationSchemeOptions, ConfirmAuthHandler>("confirm", a => { }); var builder = services.AddMvcCore(config => { var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build(); config.Filters.Add(new AuthorizeFilter(policy)); config.Filters.Add(new TypeFilterAttribute(typeof(TenantStatusFilter))); config.Filters.Add(new TypeFilterAttribute(typeof(PaymentFilter))); config.Filters.Add(new TypeFilterAttribute(typeof(IpSecurityFilter))); config.Filters.Add(new TypeFilterAttribute(typeof(ProductSecurityFilter))); config.Filters.Add(new CustomResponseFilterAttribute()); config.Filters.Add(new CustomExceptionFilterAttribute()); config.Filters.Add(new TypeFilterAttribute(typeof(FormatFilter))); config.OutputFormatters.RemoveType <XmlSerializerOutputFormatter>(); config.OutputFormatters.Add(new XmlOutputFormatter()); }); var diHelper = new DIHelper(services); diHelper .AddConfirmAuthHandler() .AddCookieAuthHandler() .AddCultureMiddleware() .AddIpSecurityFilter() .AddPaymentFilter() .AddProductSecurityFilter() .AddTenantStatusFilter(); diHelper.Configure <WorkerQueue <ResizeWorkerItem> >(r => { r.workerCount = 2; r.waitInterval = (int)TimeSpan.FromSeconds(30).TotalMilliseconds; r.errorCount = 1; r.stopAfterFinsih = true; }); diHelper.Configure <ProgressQueue <ReassignProgressItem> >(r => { r.workerCount = 1; r.waitInterval = (int)TimeSpan.FromMinutes(5).TotalMilliseconds; r.removeAfterCompleted = true; r.stopAfterFinsih = false; r.errorCount = 0; }); diHelper.Configure <ProgressQueue <RemoveProgressItem> >(r => { r.workerCount = 1; r.waitInterval = (int)TimeSpan.FromMinutes(5).TotalMilliseconds; r.removeAfterCompleted = true; r.stopAfterFinsih = false; r.errorCount = 0; }); diHelper.AddNLogManager("ASC.Api", "ASC.Web"); diHelper .AddPeopleController() .AddGroupController(); services.AddAutofac(Configuration, HostEnvironment.ContentRootPath); }