private IContainer CreateContainer() { var builder = new ContainerBuilder(); var projectorConfiguration = new ConfigurationRoot(new List <IConfigurationProvider>()); builder.RegisterModule(new ProjectorModule(projectorConfiguration)); builder.RegisterModule(new SqlStreamStoreModule(string.Empty, Schemas.Messages)); builder .RegisterType <LoggerFactory>() .As <ILoggerFactory>() .SingleInstance(); builder.RegisterModule( new EventHandlingModule( typeof(DomainAssemblyMarker).Assembly, EventsJsonSerializerSettingsProvider.CreateSerializerSettings())); builder.RegisterModule <EnvelopeModule>(); builder .Register(context => new ProjectionContext(CreateContextOptionsFor <ProjectionContext>())) .AsSelf(); ContainerSetup(builder); return(builder.Build()); }
public void ConfigurationToAppConfigurator() { "原本在 IConfiguration 存放的内容,可以通过 AppConfigurator 创建出来的配置读取到".Test(() => { // Arrange const string key = "LindexiIsDoubi"; const string value = "doubi"; var memoryConfigurationSource = new MemoryConfigurationSource() { InitialData = new List <KeyValuePair <string, string> >() { new KeyValuePair <string, string>(key, value) } }; IConfigurationProvider configurationProvider = new MemoryConfigurationProvider(memoryConfigurationSource); IConfiguration configuration = new ConfigurationRoot(new List <IConfigurationProvider>() { configurationProvider }); // Act var appConfigurator = configuration.ToAppConfigurator(); var configurationValue = appConfigurator.Default[key]; // Assert Assert.IsNotNull(configurationValue); Assert.AreEqual(value, configurationValue.ToString()); }); }
private static IConfiguration GetConfiguration() { Mock <IConfiguration> mockedConfig = new Mock <IConfiguration>(); mockedConfig.Setup(x => x.GetSection(It.IsAny <string>())).Returns <string>(s => { if (s == "appSettings") { JsonConfigurationSource configurationSource = new JsonConfigurationSource { Path = "appsettings.json", FileProvider = new PhysicalFileProvider("d:\\Git\\SportsStoreCore\\SportsStore\\SportsStore.Tests"), Optional = false, ReloadOnChange = true }; ConfigurationRoot configRoot = new ConfigurationRoot(new List <IConfigurationProvider> { new JsonConfigurationProvider(configurationSource) }); ConfigurationSection section = new ConfigurationSection(configRoot, "appSettings"); return(section); } return(null); }); return(mockedConfig.Object); }
public static UIApplicationMenu[] getMenus(ConfigurationRoot menuConf) { ArrayList <UIApplicationMenu> menus = new ArrayList <UIApplicationMenu>(); ConfigurationBlock block = menuConf.getBlock(ConfigurationBlocksEnum.UIMenus.ToString()); for (int i = 0; i < block.BlockEntries.Length; i++) { ConfigurationEntry entry = block.getEntry(i); if (entry.Key == ConfigurationStatics.BLOCK_KEY_UIMENUROOT_SETTINGS) { continue; } string s = block.getEntryDetail(entry.Key, MenuConfigurationParamsEnum.Name.ToString()).KeyValue; UIApplicationMenu menuObj = new UIApplicationMenu(); menuObj.Code = entry.Key; menuObj.DisplayName = entry.get(MenuConfigurationParamsEnum.Name.ToString()).KeyValue; menuObj.MenuType = EnumHelper.toEnum <ApplicationMenuTypeEnum>(entry.get(MenuConfigurationParamsEnum.MenuType.ToString(), ApplicationMenuTypeEnum.Title.ToString()).KeyValue); menuObj.ObjectUrl = entry.get(MenuConfigurationParamsEnum.TargetUri.ToString(), "").KeyValue; menuObj.ParentCode = entry.get(MenuConfigurationParamsEnum.ParentKey.ToString(), "").KeyValue; menus.put(menuObj); } return(menus.toArray()); }
//DATABASE INFORMATION static DatabaseGrabber() { var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json"); ConfigurationRoot config = (ConfigurationRoot)builder.Build(); connectionString = config["connectionString"]; }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } DevConnectionString = ConfigurationRoot.GetConnectionString("DemoDB"); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); }
protected AbstractExtensionBuilderDependency(string name, IExtensionBuilderDependency parentDependency = null) : base(name) { if (parentDependency.IsNotNull()) { BaseDirectory = parentDependency.BaseDirectory; ConfigDirectory = parentDependency.ConfigDirectory; ReportDirectory = parentDependency.ReportDirectory; ResourceDirectory = parentDependency.ResourceDirectory; ConfigurationRoot = parentDependency.ConfigurationRoot; if (ConfigurationRoot.IsNotNull()) { Configuration = ConfigurationRoot.GetSection(Name); } ParentDependency = parentDependency; } else { var currentDirectory = Environment.CurrentDirectory.WithoutDevelopmentRelativePath(); BaseDirectory = currentDirectory; ConfigDirectory = currentDirectory.CombinePath(CoreSettings.Preference.ConfigsFolder); ReportDirectory = currentDirectory.CombinePath(CoreSettings.Preference.ReportsFolder); ResourceDirectory = currentDirectory.CombinePath(CoreSettings.Preference.ResourcesFolder); } }
public void TestMaxFileSizeAttribute() { var attribute = new MaxFileSizeAttribute(); var configuration = new ConfigurationRoot(new List <IConfigurationProvider> { new MemoryConfigurationProvider(new MemoryConfigurationSource()) }) { ["MaxFileSize"] = "100" }; var context = new ValidationContext( string.Empty, Mock.Of <IServiceProvider>(x => x.GetService(typeof(IConfiguration)) == configuration ), null); Assert.True(attribute.GetValidationResult( Mock.Of <IFormFile>(x => x.Length == 10), context) == ValidationResult.Success); Assert.True(attribute.GetValidationResult( Mock.Of <IFormFile>(x => x.Length == 100), context) == ValidationResult.Success); Assert.False(attribute.GetValidationResult( Mock.Of <IFormFile>(x => x.Length == 101), context) == ValidationResult.Success); }
// the plugin interface has only a single dynamic parameter. public new static void VA_Init1(dynamic vaProxy) { // Configure a startup Logger, prior to getting the Logger configuration from the ConfigurationRoot InitializeLogger(); Serilog.Log.Debug("{0} {1}: VA_Init1 received at {2}", "PluginVAGameAOEII", "VA_Init1", DateTime.Now.ToString(StringConstantsVA.DATE_FORMAT)); ATAP.Utilities.VoiceAttack.Game.AOE.Plugin.VA_Init1((object)vaProxy); // Traverse the inheritance chain, accumulate the config sections at each level var configSections = GetConfigurationSections(); #region initial ConfigurationBuilder and ConfigurationRoot // Create the final ConfigurationRoot, taking into account all environments, default values, settings files, and environment variables This creates an ordered chain of configuration providers. The first providers in the chain have the lowest priority, the last providers in the chain have a higher priority. ConfigurationRoot configurationRoot = (ConfigurationRoot)GetConfigurationRootFromConfigurationSections(configSections); // Create the Data object (most specific of the inheritance tree) Data = new ATAP.Utilities.VoiceAttack.Game.AOE.II.Data(configurationRoot, vaProxy); SetData((IData)Data); InitializeData((object)vaProxy); AttachToMainTimer(() => { // If Main Queue is not empty // If PresentOnNormalQueue // Write message to user via vaProxy Serilog.Log.Debug("{0} {1}: MainTimerFired at {2}", "MainTimerFired", "MainTimerDelegate", DateTime.Now.ToString(StringConstantsVA.DATE_FORMAT)); Data.StoredVAProxy.WriteToLog($"MainTimerFired, {Data.MainTimerElapsedTimeSpan.ToString(StringConstantsVA.DATE_FORMAT)} {DateTime.Now.ToString(StringConstantsVA.DATE_FORMAT)}", "blue"); }); // Create all Message Queues CreateMessageQueues(); // Create all Serializers CreateSerializer(); // Attach any event handlers specific to GameAOEII AttachEventHandlers(); }
public void SetUp() { var serviceCollection = new ServiceCollection(); var config = new ConfigurationRoot(new List <IConfigurationProvider>()); var builder = new OcelotBuilder(serviceCollection, config); var services = serviceCollection.BuildServiceProvider(); var loggerFactory = services.GetService <IOcelotLoggerFactory>(); var drpf = services.GetService <IDownstreamRouteProviderFactory>(); var multiplexer = services.GetService <IMultiplexer>(); _next = async context => { await Task.CompletedTask; throw new Exception("BOOM"); }; _middleware = new DownstreamRouteFinderMiddleware(_next, loggerFactory, drpf, multiplexer); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = new PathString("/test"); httpContext.Request.QueryString = new QueryString("?a=b"); httpContext.Request.Headers.Add("Host", "most"); _downstreamContext = new DownstreamContext(httpContext) { Configuration = new InternalConfiguration(new List <ReRoute>(), null, null, null, null, null, null, null) }; }
protected override void Load(ContainerBuilder builder) { builder .RegisterType <DefaultTimeService>() .As <ITimeService>() .WithParameter("settings", ConfigurationRoot.GetSection("Time").Get <DefaultTimeServiceSettings>()) .InstancePerLifetimeScope(); builder .RegisterAssemblyTypes(typeof(RegistrationService).Assembly) .AssignableTo <IDomainService>() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder .RegisterType <RegistrationsViewModelService>() .As <IRegistrationsViewModelService>() .InstancePerLifetimeScope(); builder .RegisterType <RazorHtmlLayoutGenerator>() .As <IRazorHtmlLayoutGenerator>() .InstancePerLifetimeScope(); builder .RegisterType <MailNotificationService>() .As <IMailNotificationService>() .InstancePerLifetimeScope(); }
public void SetUp() { var configuration = new ConfigurationRoot(new List <IConfigurationProvider> { new MemoryConfigurationProvider(new MemoryConfigurationSource()) }) { ["ResultsSubscriptionId"] = "mms.results" }; _busMock = new Mock <IBus>(); _scanBackendMock = new Mock <IScanBackend>(); _scanBackendMock .SetupGet(x => x.Id) .Returns("dummy"); _scanBackendMock .Setup(x => x.ScanAsync(It.IsAny <Uri>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new[] { "Test" })); _scanBackgroundJob = new ScanBackgroundJob(configuration, _busMock.Object, Mock.Of <ILogger <ScanBackgroundJob> >(), _scanBackendMock.Object); }
public static IServiceCollection ConfigureAppConfiguration(this IServiceCollection collection) { var builder = new ConfigurationBuilder(); #if DEBUG var configurationRoot = new ConfigurationRoot(new List <IConfigurationProvider>() { new JsonConfigurationProvider(new JsonConfigurationSource() { Optional = true, FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(System.Environment.CurrentDirectory), Path = "appsettings.Development.json", ReloadOnChange = true }) }); #else var configurationRoot = new ConfigurationRoot(new List <IConfigurationProvider>() { new JsonConfigurationProvider(new JsonConfigurationSource() { Optional = true, FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(System.Environment.CurrentDirectory), Path = "appsettings.json", ReloadOnChange = true }) }); #endif collection.Add(new ServiceDescriptor(typeof(IConfiguration), configurationRoot)); builder.Build(); return(collection); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseCors(options => { options.AllowAnyHeader(); options.AllowAnyMethod(); options.AllowAnyOrigin(); }); loggerFactory.AddConsole(ConfigurationRoot.GetSection("Logging")); loggerFactory.AddDebug(); //Swagger app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Product Catalog Api V1"); }); app.UseHealthChecks("/health"); //Health check app.UseHealthChecksUI(config => config.UIPath = "/health-ui"); //Health check user interface app.UseMvc(); //start micro services Services = app.ApplicationServices; applicationLifetime.ApplicationStarted.Register(OnStart); applicationLifetime.ApplicationStopping.Register(OnStopping); applicationLifetime.ApplicationStopped.Register(OnStopped); }
static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; var services = new ServiceCollection(); ConfigureServices(services); _serviceProvider = services.BuildServiceProvider(); var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); Directory.SetCurrentDirectory(path); var param = ParseParameters(args); _configurationRoot = _serviceProvider.GetRequiredService <ConfigurationParser>() .Parse(Path.Combine(param.ConfigFolderPath, "app-config.xml")); ConfigureLogging(param.ConfigFolderPath, _configurationRoot); try { _serviceProvider.GetRequiredService <ServiceSample>().Launch(); _serviceProvider.GetRequiredService <ILogger <Program> >().LogInformation("Finished"); } catch (Exception ex) { try { _serviceProvider.GetRequiredService <ILogger <Program> >().LogCritical(ex, "Program terminated"); } catch { } throw; } }
internal static void Main() { var configSource = new MemoryConfigurationSource { InitialData = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("env", "Development"), new KeyValuePair <string, string>("host", "localhost"), new KeyValuePair <string, string>("port", "9000"), } }; var configProvider = new MemoryConfigurationProvider(new MemoryConfigurationSource { InitialData = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("env", "Production") } }); var configProviders = new List <IConfigurationProvider> { configSource.Build(null), // like configProvider above configProvider }; var configRoot = new ConfigurationRoot(configProviders); Console.WriteLine($"{configRoot["env"]}|{configRoot["host"]}|{configRoot["port"]}"); }
public void Init_GetVarableReport(string name, string val, ConfigurationTypes type, bool isArray) { var root = new ConfigurationRoot(new IConfigurationProvider[0]); var infos = new IConfigurationChangeInfo[] { new ConfigurationChangeInfo { Key = name, Old = "1", New = val, Sender = root, Provider = null, IsCreate = false } }; var rep = ChangeReport.FromChanges(root, infos); var c = rep.First().GetValueReport(); Assert.AreEqual(name, c.Keys.Single()); var r = c.Values.Single(); Assert.AreEqual(isArray, r.IsArray); Assert.AreEqual(type, r.TypeCode); Assert.AreEqual(root, r.Configuration); Assert.AreEqual(infos[0], r.Info); }
public void When_Configuration_Has_Been_Changed_It_Does_Not_Affect_New_Scopes_And_The_Same_Object_Is_Always_Returned_For_Each_Scope() { // arrange var configurationProvider = new TesTConfigClassProvider(); var configuration = new ConfigurationRoot(new List <IConfigurationProvider> { configurationProvider }); _serviceCollection.AddFromConfig <SampleConfiguration>( configuration, AnyKey, BindOptions.DontThrowIfSectionIsMissingOrEmpty); var provider = _serviceCollection.BuildServiceProvider(true); var myOptions1 = provider.CreateScope().ServiceProvider.GetRequiredService <SampleConfiguration>(); Func <SampleConfiguration> GetObjectFromNewScope = () => provider.CreateScope().ServiceProvider.GetRequiredService <SampleConfiguration>(); var expected = GetObjectFromNewScope(); // act configurationProvider.Reload(); // assert var list = new List <SampleConfiguration>(); for (var i = 0; i < 10; i++) { list.Add(GetObjectFromNewScope()); } list.TrueForAll(x => ReferenceEquals(expected, x)).Should().BeTrue(); }
public void GetEnvironmentDataIncludesEnvironmentName() { var envName = "TEST"; var hostingEnv = Mock.Of <IWebHostEnvironment>(); hostingEnv.EnvironmentName = envName; var firstProvider = new MemoryConfigurationProvider(new MemoryConfigurationSource()) { { "test", "test" }, }; var secondProvider = new MemoryConfigurationProvider(new MemoryConfigurationSource()) { { "test2", "2" }, { "Logging:LogLevel:Microsoft.Hosting.Lifetime", "2" }, }; using var configurationRoot = new ConfigurationRoot(new List <IConfigurationProvider>() { firstProvider, secondProvider, }); var sut = new EnvironmentProvider(configurationRoot, hostingEnv); var data = sut.GetEnvironmentData(); data.ActiveProfiles.Should().Contain(envName); }
static void Main(string[] args) { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", false) .Build(); ConfigurationRoot configurationRoot = (ConfigurationRoot)configuration; var configurationProvider = configurationRoot.Providers.Where(p => p.GetType() == typeof(JsonConfigurationProvider)) .FirstOrDefault(p => ((JsonConfigurationProvider)p).Source.Path == "appsettings.json"); ConfigSetting.Init(configurationProvider); ServiceCollection serviceCollection = new ServiceCollection(); ConfigureServices(serviceCollection); // create service provider var serviceProvider = serviceCollection.BuildServiceProvider(); // entry to run app serviceProvider.GetService <App>().Run(serviceProvider).Wait(); Console.WriteLine("App Start"); var t = Console.ReadLine(); }
public void ReadsConfigurationFromIConfiguration() { var provider = new MemoryConfigurationProvider(new MemoryConfigurationSource()) { { "test2", "2" }, { "Logging:LogLevel:Microsoft.Hosting.Lifetime", "3" }, }; using var configurationRoot = new ConfigurationRoot(new List <IConfigurationProvider>() { provider, }); var sut = new EnvironmentProvider(configurationRoot, null); var result = sut.ReadConfiguration(); result.Should().NotBeNull(); result.Should().HaveCount(2); // 2 because there is the default PID Provider of Net Core Admin var prov = result.First(); prov.Name.Should().Be("MemoryConfigurationProvider - 0"); prov.Properties.Should().HaveCount(2); prov.Properties.Keys.Should().Contain("test2"); prov.Properties.Values.Should().ContainEquivalentOf(new PropertyValue("2")); prov.Properties.Keys.Should().Contain("Logging:LogLevel:Microsoft.Hosting.Lifetime"); prov.Properties.Values.Should().ContainEquivalentOf(new PropertyValue("3")); }
public void ReadsConfigurationFromTwoSources() { var firstProvider = new MemoryConfigurationProvider(new MemoryConfigurationSource()) { { "test", "test" }, }; var secondProvider = new MemoryConfigurationProvider(new MemoryConfigurationSource()) { { "test2", "2" }, { "Logging:LogLevel:Microsoft.Hosting.Lifetime", "2" }, }; using var configurationRoot = new ConfigurationRoot(new List <IConfigurationProvider>() { firstProvider, secondProvider, }); var sut = new EnvironmentProvider(configurationRoot, null); var result = sut.ReadConfiguration(); result.Should().NotBeNull(); result.Should().HaveCount(3); // 3 because there is the default PID Provider of Net Core Admin var firstResult = result.First(); var lastResult = result.ElementAt(1); firstResult.Name.Should().Be("MemoryConfigurationProvider - 0"); lastResult.Name.Should().Be("MemoryConfigurationProvider - 1"); }
public DidChangeConfigurationProvider( Action <IConfigurationBuilder> configurationBuilderAction, ILogger <DidChangeConfigurationProvider> logger, IWorkspaceLanguageServer workspaceLanguageServer, ConfigurationConverter configurationConverter ) { _logger = logger; _workspaceLanguageServer = workspaceLanguageServer; _configurationConverter = configurationConverter; var builder = new ConfigurationBuilder() .Add(new DidChangeConfigurationSource(this)); configurationBuilderAction(builder); _configuration = (builder.Build() as ConfigurationRoot) !; var triggerChange = new Subject <System.Reactive.Unit>(); _compositeDisposable.Add(triggerChange); _triggerChange = triggerChange; // ReSharper disable once SuspiciousTypeConversion.Global if (_configuration is IDisposable disposableConfiguration) { _compositeDisposable.Add(disposableConfiguration); } _compositeDisposable.Add(triggerChange.Throttle(TimeSpan.FromMilliseconds(50)).Select(_ => GetWorkspaceConfiguration()).Switch().Subscribe()); }
private void EnsureInitialized() { if (Configuration == null) { Configuration = new ConfigurationRoot(_providers); } }
static ConfigUtil() { try { var builder = new ConfigurationBuilder(); builder.AddJsonFile("DbBackup.json", false, true); config = builder.Build() as ConfigurationRoot; initial = true; } catch { initial = false; } if (!System.IO.File.Exists(configFile)) { using (var sw = new System.IO.StreamWriter(configFile)) { DbBackupConfig c = new DbBackupConfig(); var json = JsonUtil.ToJsonString(c); sw.Write(json); } } else { initial = true; } }
public async Task RaiseChangeEventAfterProviderSetToNull() { var testFileProvider = new TestFileProvider( new TestFile("Secret1", "SecretValue1"), new TestFile("Secret2", "SecretValue2")); var configurationSource = new KeyPerFileConfigurationSource { FileProvider = testFileProvider, Optional = true, }; var keyPerFileProvider = new KeyPerFileConfigurationProvider(configurationSource); var config = new ConfigurationRoot(new[] { keyPerFileProvider }); var changeToken = config.GetReloadToken(); var changeTaskCompletion = new TaskCompletionSource <object>(); changeToken.RegisterChangeCallback(state => ((TaskCompletionSource <object>)state).TrySetResult(null), changeTaskCompletion); configurationSource.FileProvider = null; config.Reload(); await changeTaskCompletion.Task; Assert.Empty(config.AsEnumerable()); }
public WebSocketMiddleware(RequestDelegate next, WebSocketManager manager, IServiceScopeFactory factory, IConfiguration configuration) { this.next = next; this.manager = manager; userManager = factory.CreateScope().ServiceProvider.GetService <UserManager <Player> >(); Configuration = (ConfigurationRoot)configuration; }
private Startup GetInstance() { IList <IConfigurationProvider> providers = new List <IConfigurationProvider>(); IConfiguration configuration = new ConfigurationRoot(providers); Startup startup = new Startup(configuration); return(startup); }
public ConfigurationController(IConfiguration configuration, IMediator mediator, AssembliesCache assemblies, AuthorizationService authorizationService) { this.configuration = configuration as ConfigurationRoot; provider = this.configuration.Providers.OfType <ConfigurationProvider>().First(); this.mediator = mediator; this.assemblies = assemblies; this.authorizationService = authorizationService; }
private void Excel(ContainerBuilder builder) { builder .RegisterType <ExcelGenerator>() .As <IExcelGenerator>() .WithParameter("settings", ConfigurationRoot.GetSection("Documents:Excel").Get <ExcelSettings>()) .SingleInstance(); }