public static void PreStart() { InitConfigurations(); var scope = ConfigurationManager.Get <int>(CommonConfigurations.Group, CommonConfigurations.IDGeneratorScope, DefaultIDGeneratorScope); IDGenerator.SetProvider(new UniqueNumberProvider(scope)); ServiceRegistrations.PerformRegistrations(ServiceRegistrations.SystemOrder, container => { container.EnableAnnotatedConstructorInjection(); container.EnableAnnotatedPropertyInjection(); container.EnablePerWebRequestScope(); // register all controllers foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) { if (asm.FullName.StartsWith("NLogging")) { container.RegisterControllers(asm); } } // other services //container.Register<HttpClient>(sf => CreateHttpClient(), new PerScopeLifetime()); //container.Register<IPeopleStore, HttpPeopleStore>(new PerScopeLifetime()); //container.Register<IReportStore, HttpReportStore>(new PerScopeLifetime()); //container.Register<IAuthenticationStore, HttpAuthenticationStore>(new PerScopeLifetime()); }); }
IIntegrationConfigBuilder GetBuilder() { var builder = new Mock <IIntegrationConfigBuilder>(); builder .SetupGet(x => x.BeforeFirstScenario) .Returns(Enumerable.Empty <Action <IProvidesTestRunEvents, IResolvesServices> >().ToArray()); builder .SetupGet(x => x.BeforeScenario) .Returns(Enumerable.Empty <Action <IScenario> >().ToArray()); builder .SetupGet(x => x.AfterLastScenario) .Returns(Enumerable.Empty <Action <IResolvesServices> >().ToArray()); builder .SetupGet(x => x.AfterScenario) .Returns(Enumerable.Empty <Action <IScenario> >().ToArray()); var registrations = new ServiceRegistrations(); builder .SetupGet(x => x.ServiceRegistrations) .Returns(registrations); return(builder.Object); }
public static void PostStart() { ServiceRegistrations.PerformRegistrations(ServiceRegistrations.LastOrder, container => { container.EnableMvc(); }); ServiceRegistrations.Apply(); }
// 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(setupAction => { setupAction.ReturnHttpNotAcceptable = true; setupAction.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter()); }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "My API V1", Version = "v1" }); }); ServiceRegistrations.Register(services); }
// 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; }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // DataTables.AspNet registration with default options. services.RegisterDataTables(); services.AddAutoMapper(); ServiceRegistrations.Register(services, Configuration); }
public static void Shutdown() { ServiceRegistrations.Dispose(); }
private static void ServiceRegistrationsFilter(ServiceRegistrations registrations) { registrations.RemoveAll(o => string.IsNullOrWhiteSpace(o.ServiceType) || string.IsNullOrWhiteSpace(o.ImplementationType) || string.IsNullOrWhiteSpace(o.ImplementationPath)); }
public static IServiceCollection AddServiceRegister(this IServiceCollection services, ServiceRegistrations registrations) { if (registrations == null) { throw new ArgumentNullException(nameof(registrations)); } ServiceRegistrationsFilter(registrations); registrations.ForEach(serviceRegistration => { services.Add(serviceRegistration.GetServiceDescriptor()); }); return(services); }