public void ReflectingMetadata() { DefaultConfigurationService service = GenerateService(); TestConfiguration configuration = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); CheckConfiguration(configuration); }
public void ReflectingMetadataStream() { DefaultConfigurationService service = GenerateService(); TestConfigurationStream configuration = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(); CheckConfigurationStream(configuration); }
private static DefaultConfigurationService GenerateService() { Json jsonSerializer = new Json(); MemoryCachingService cachingService = new MemoryCachingService(TimeSpan.FromDays(1), false); DefaultConfigurationCache cache = new DefaultConfigurationCache(cachingService, jsonSerializer, TimeSpan.FromDays(1)); DefaultConfigurationService service = new DefaultConfigurationService(cache); return(service); }
public void ProvidingMetadata() { DefaultConfigurationService service = GenerateService(); TestConfigurationMetadata metadata = new TestConfigurationMetadata(); TestConfiguration configuration = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(metadata); CheckConfiguration(configuration); }
public void CachingStream() { DefaultConfigurationService service = GenerateService(); TestConfigurationStream configuration1 = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(); TestConfigurationStream configuration2 = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(); CheckConfigurationStream(configuration1, configuration2); }
public void Caching() { DefaultConfigurationService service = GenerateService(); TestConfiguration configuration1 = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); TestConfiguration configuration2 = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); CheckConfiguration(configuration1, configuration2); }
public void CompleteCacheClearing() { DefaultConfigurationService service = GenerateService(); TestConfiguration configuration1 = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); service.ResetCachedConfigurations(); TestConfiguration configuration2 = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); CheckConfiguration(configuration1); CheckConfiguration(configuration2); Assert.Throws <EqualException>(() => Assert.Equal(configuration1, configuration2)); }
public void SpecificCacheClearingStream() { DefaultConfigurationService service = GenerateService(); TestConfigurationStream configuration1 = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(); service.ClearConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(); TestConfigurationStream configuration2 = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(); CheckConfigurationStream(configuration1); CheckConfigurationStream(configuration2); Assert.Throws <EqualException>(() => Assert.Equal(configuration1, configuration2)); }
public static void Configure() { // http://code.google.com/p/autofac/wiki/MvcIntegration var builder = new ContainerBuilder(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.Register(c => new DefaultConfigurationService()).As <IConfigurationService>().InstancePerDependency(); builder.Register(c => new DefaultDataService()).As <IDataService>().InstancePerDependency(); builder.Register(c => new DefaultCacheService()).As <ICacheService>().InstancePerDependency(); // Enable the desired mail service (not by type name but by friendly name) string selectedMailService = new DefaultConfigurationService().MailService; if ("sendgrid" == selectedMailService) { builder.Register(c => new SendGridMailService(c.Resolve <IConfigurationService>())) .As <IMailService>().InstancePerDependency(); } else if ("smtp" == selectedMailService) { builder.Register(c => new SmtpMailService(c.Resolve <IConfigurationService>())) .As <IMailService>().InstancePerDependency(); } else { builder.Register(c => new DevStubMailService()).As <IMailService>().InstancePerDependency(); } builder.Register(c => new DefaultTranslationService(c.Resolve <IDataService>(), c.Resolve <ICacheService>(), c.Resolve <IMailService>(), c.Resolve <IConfigurationService>())) .As <ITranslationService>().InstancePerDependency(); // MVC IContainer container = builder.Build(); System.Web.Mvc.DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // Web API var resolver = new Autofac.Integration.WebApi.AutofacWebApiDependencyResolver(container); System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = resolver; }
static void Main(string[] args) { Trace.Listeners.Add(new ConsoleTraceListener()); foreach (var assembly in typeof(PackageProcessor).Assembly.GetReferencedAssemblies()) { Trace.WriteLine(assembly.FullName); } var cancelSource = new CancellationTokenSource(); System.Console.CancelKeyPress += (o, e) => { cancelSource.Cancel(); e.Cancel = true; }; var shutdownWatcher = new WebJobsShutdownWatcher(); var shutdownSource = CancellationTokenSource.CreateLinkedTokenSource(new[] { shutdownWatcher.Token, cancelSource.Token }); var configuration = new DefaultConfigurationService(); var builder = new ContainerBuilder(); DefaultContainerBuilder.Register(builder, configuration); SupportContainerBuilder.Register(builder, SupportEnvironment.WebJob); EmailContainerBuilder.Register(builder); PackageProcessorContainerBuilder.Register(builder); var container = builder.Build(); var support = container.Resolve <ISupportConfiguration>(); if (!string.IsNullOrWhiteSpace(support.InsightsInstrumentationKey)) { TelemetryConfiguration.Active.InstrumentationKey = support.InsightsInstrumentationKey; } var scheduler = container.Resolve <ISchedulerService>(); scheduler.ListenAndProcess(shutdownSource.Token); }
protected override void OnStart(string[] args) { Trace.Listeners.Add(new ConsoleTraceListener()); foreach (var assembly in typeof(PackageProcessor).Assembly.GetReferencedAssemblies()) { Trace.WriteLine(assembly.FullName); } _stopSource = new CancellationTokenSource(); var configuration = new DefaultConfigurationService(); var builder = new ContainerBuilder(); DefaultContainerBuilder.Register(builder, configuration); SupportContainerBuilder.Register(builder, SupportEnvironment.WebJob); PackageProcessorContainerBuilder.Register(builder); var container = builder.Build(); var support = container.Resolve <ISupportConfiguration>(); var scheduler = container.Resolve <ISchedulerService>(); Task.Run(() => { int i = 0; while (!_stopSource.IsCancellationRequested) { try { scheduler.ListenAndProcess(_stopSource.Token); } catch { i++; if (i > 10) { Stop(); } } } }); }
public void ProvidingMetadataStream() { DefaultConfigurationService service = GenerateService(); TestConfigurationMetadataStream metadata = new TestConfigurationMetadataStream(); TestConfigurationStream configuration = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(metadata); Assert.True(metadata.UsedAtLeastOnce); CheckConfigurationStream(configuration); service.ResetCachedConfigurations(); TestConfigurationStream configuration2 = service.GetConfiguration <TestConfigurationStream, TestConfigurationMetadataStream>(metadata); CheckConfigurationStream(configuration2); Assert.NotEqual(configuration, configuration2); Assert.True(metadata.UsedAtLeastOnce); Assert.True(metadata.StreamGotDisposed); }
public void SpecificCacheClearingMultiple() { DefaultConfigurationService service = GenerateService(); TestConfiguration configuration1 = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); TestConfiguration2 configurationt1 = service.GetConfiguration <TestConfiguration2, TestConfigurationMetadata2>(); service.ClearConfiguration <TestConfiguration, TestConfigurationMetadata>(); TestConfiguration configuration2 = service.GetConfiguration <TestConfiguration, TestConfigurationMetadata>(); TestConfiguration2 configurationt2 = service.GetConfiguration <TestConfiguration2, TestConfigurationMetadata2>(); CheckConfiguration(configuration1); CheckConfiguration(configuration2); Assert.Throws <EqualException>(() => Assert.Equal(configuration1, configuration2)); CheckConfiguration2(configurationt1, configurationt2); }
async Task PerformAsyncInitializationsAsync() { string customDbToKeep = String.Empty; bool wasDatabaseCopied = await ReferenceDataContext.CopyDatabaseAsync().ConfigureAwait(continueOnCapturedContext: false); IConfigurationService cfgSvc = new DefaultConfigurationService(); // Database will be copied only if a new version of the app was installed (which shipped with a new version of the database) if (wasDatabaseCopied) { cfgSvc.CustomReferenceDatabaseName = String.Empty; cfgSvc.UsingDefaultReferenceDatabase = true; cfgSvc.ReferenceDatabaseBuildDate = ReferenceDataContext.ReferenceDatabaseBuildDate; } else { customDbToKeep = cfgSvc.CustomReferenceDatabaseName; } await ReferenceDataContext.DeletePreviousDatabasesAsync(customDbToKeep).ConfigureAwait(continueOnCapturedContext: false); await RuntimeDataContext.InitializeDatabaseAsync().ConfigureAwait(continueOnCapturedContext: false); await ReviewNotification.InitializeAsync().ConfigureAwait(continueOnCapturedContext: false); }