// This method gets called by the runtime. Use this method to add services to the container. public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddAuthorization(); IPostService postService = new PostService(); IRemoteTokenService remoteTokenService = new RemoteTokenService(postService); services.AddAuthorization(options => { options.AddPolicy(AuthorizationConfiguration.PolicyName, policy => policy.RequireAssertion(context => context.User.HasClaim(c => (c.Type == AuthorizationConfiguration.PolicyName) && remoteTokenService.VerifyToken(c.Value)))); }); services.AddDistributedMemoryCache(); services.AddSession(); services.AddMvc(); // Database services.AddDbContext <AuthServerContext>( options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])); return(DependencyInjectionConfigurator.ConfigureContainer(services)); }
// This method gets called by the runtime. Use this method to add services to the container. public IServiceProvider ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddDataProtection(); services.AddDbContext <AuthServerContext>( options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])); return(DependencyInjectionConfigurator.ConfigureContainer(services)); }
private static async Task Main(string[] args) { var builder = new ConfigurationBuilder(); builder.SetBasePath(Directory.GetCurrentDirectory()); builder.AddJsonFile(ConfigFileName); var config = builder.Build(); var services = DependencyInjectionConfigurator.Configure(config); var mainMenu = services.GetService <MainMenuBaseConsoleService>(); await mainMenu.StartConsoleLoop(); }
private void ConfigureDependencyInjectionContainer() { this.dependencyInjector = this.moduleDependencyInjectionContainer = new LightweightDependencyInjectionContainer(); var implementationSelector = new ImplementationSelector(); this.ConfigureImplementationSelector(implementationSelector); var configurator = new DependencyInjectionConfigurator(implementationSelector, this.TestParameters); configurator.RootLogger = this.rootLogger; configurator.ConfigureDefaultDependencies(this.moduleDependencyInjectionContainer); this.ConfigureDependencies(this.moduleDependencyInjectionContainer); this.dependencyInjector.InjectDependenciesInto(this); configurator.InitializeGlobalObjects(this.moduleDependencyInjectionContainer); }
/// <summary> /// Injects default dependencies when Taupo runner is not being used /// </summary> protected void InjectDependencies() { var container = new LightweightDependencyInjectionContainer(); ImplementationSelector defaultImplSelector = new ImplementationSelector(); this.ConfigureDependencyImplentationSelector(defaultImplSelector); DependencyInjectionConfigurator dependInjecConfigurator = new DependencyInjectionConfigurator(defaultImplSelector, new Dictionary <string, string>()); dependInjecConfigurator.ConfigureDefaultDependencies(container); this.ConfigureDependencies(container); // Configure MSTest only dependencies container.Register <Logger, TraceLogger>(); container.RegisterInstance(container); container.InjectDependenciesInto(this); }
protected virtual void ConfigureMSTestDependencies(DependencyInjectionContainer container) { ImplementationSelector defaultImplSelector = new ImplementationSelector(); this.ConfigureDependencyImplentationSelector(defaultImplSelector); DependencyInjectionConfigurator dependInjecConfigurator = new DependencyInjectionConfigurator(defaultImplSelector, new Dictionary <string, string>()); dependInjecConfigurator.ConfigureDefaultDependencies(container); this.ConfigureDependencies(container); // Configure MSTest only dependencies container.Register <Logger, TraceLogger>(); // Set test parameter ApplyTransform to false for ODL tests. container.TestParameters.Add("ApplyTransform", "false"); container.RegisterInstance(container); }
/// <summary> /// Creates an instance of the ITestModuleRunner /// </summary> /// <param name="runnerType">The type of the runner to create</param> /// <returns>An implementation of the ITestModuleRunner </returns> public ITestModuleRunner CreateRunner(Type runnerType) { LightweightDependencyInjectionContainer dependencyInjectionContainer = null; ITestModuleRunner runner = null; try { #if SILVERLIGHT runner = Activator.CreateInstance(runnerType) as ITestModuleRunner; #else runner = new RunnerBridge(runnerType); #endif dependencyInjectionContainer = new LightweightDependencyInjectionContainer(); var implementationSelector = new ImplementationSelector(); implementationSelector.AddAssembly(typeof(TestItem).GetAssembly()); var helpGenerator = new HelpGenerator(new LogLevelResolver(this.Parameters)); var availableParameters = helpGenerator.GetAvailableParameters(implementationSelector.Types); Dictionary <string, string> availableParametersLookup = this.Parameters.Where(kvp => availableParameters.Any(p => p.ParameterName == kvp.Key)).ToDictionary(kvp => kvp.Key, kvp => kvp.Value); // Any TestParameters passed in are not used for injecting dependencies into RunnerBridge var configurator = new DependencyInjectionConfigurator( implementationSelector, availableParametersLookup); configurator.RootLogger = Logger.Null; configurator.ConfigureDefaultDependencies(dependencyInjectionContainer); dependencyInjectionContainer.InjectDependenciesInto(runner); } finally { if (dependencyInjectionContainer != null) { dependencyInjectionContainer.Dispose(); } } return(runner); }