private void ConfigureLogging() { var configurationSource = new DictionaryConfigurationSource(); var builder = new ConfigurationSourceBuilder(); const string DefaultListenerName = "Default"; builder.ConfigureLogging() .WithOptions .DoNotRevertImpersonation() .SpecialSources .LoggingErrorsAndWarningsCategory .SendTo.SharedListenerNamed(DefaultListenerName) .SpecialSources .UnprocessedCategory .SendTo.SharedListenerNamed(DefaultListenerName) .SpecialSources .AllEventsCategory .SendTo.SharedListenerNamed(DefaultListenerName) .LogToCategoryNamed("General") .WithOptions.SetAsDefaultCategory() .SendTo.SharedListenerNamed(DefaultListenerName); builder.UpdateConfigurationWithReplace(configurationSource); var configurator = new UnityContainerConfigurator(this.Container); EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource); this.Container.RegisterType<TraceListener, CommonLoggingEntlibTraceListener>( DefaultListenerName, new ContainerControlledLifetimeManager(), new InjectionFactory(this.CreateListener)); }
private void ConfigureExceptionHandling() { var configurationSource = new DictionaryConfigurationSource(); var builder = new ConfigurationSourceBuilder(); builder .ConfigureExceptionHandling() .GivenPolicyWithName(ValidationPolicy) .ForExceptionType<DeleteConstraintException>() .HandleCustom<BusinessValidationHandler>() .ThenThrowNewException() .ForExceptionType<BusinessValidationException>() .ThenNotifyRethrow() .ForExceptionType<BusinessException>() .HandleCustom<BusinessValidationHandler>() .ThenThrowNewException() .GivenPolicyWithName(DefaultPolicy) .ForExceptionType<Exception>() .LogToCategory("General") .WithSeverity(TraceEventType.Critical) .UsingExceptionFormatter<TextExceptionFormatter>() .WrapWith<Exception>() .UsingMessage("An error has occurred while processing request. Please contact your administrator for more information. [Error ID: {handlingInstanceID}]") .ThenThrowNewException(); builder.UpdateConfigurationWithReplace(configurationSource); var configurator = new UnityContainerConfigurator(this.Container); EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource); }
// http://www.nikosbaxevanis.com/bonus-bits/2011/08/following-the-composition-root-pattern-with-enterprise-library.html public static void ForEnterpriseLibrary(UnityContainer container) { var configurator = new UnityContainerConfigurator(container); var configSource = ConfigurationSourceFactory.Create(); EnterpriseLibraryContainer.ConfigureContainer(configurator, configSource); }
private void ConfigureExceptionHandling() { var configurationSource = new DictionaryConfigurationSource(); var builder = new ConfigurationSourceBuilder(); builder .ConfigureExceptionHandling() .GivenPolicyWithName(DefaultPolicy) .ForExceptionType<DeleteConstraintException>() .HandleCustom<HttpErrorExceptionHandler>() .ThenThrowNewException() .ForExceptionType<BusinessValidationException>() .HandleCustom<BusinessValidationExceptionHandler>() .ThenThrowNewException() .ForExceptionType<BusinessException>() .HandleCustom<HttpErrorExceptionHandler>() .ThenThrowNewException() .ForExceptionType<Exception>() .LogToCategory("General") .WithSeverity(TraceEventType.Critical) .UsingExceptionFormatter<TextExceptionFormatter>() .HandleCustom( typeof(HttpErrorExceptionHandler), new NameValueCollection { { HttpErrorExceptionHandler.StatusCodeKey, HttpStatusCode.InternalServerError.ToString("G") }, { HttpErrorExceptionHandler.MessageKey, "An error has occurred while consuming this service. Please contact your administrator for more information." }, { HttpErrorExceptionHandler.AppendHandlingIdKey, bool.TrueString } }) .ThenThrowNewException(); builder.UpdateConfigurationWithReplace(configurationSource); var configurator = new UnityContainerConfigurator(this.Container); EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource); }
/// <summary> /// Adds to the <paramref name="container"/> the policy definitions represented in the configuration file. /// </summary> /// <param name="container">The container on which the injection policies must be configured.</param> /// <param name="configurationSource">The configuration source from which additional information /// can be retrieved, if necessary.</param> public void ConfigureContainer(IUnityContainer container, IConfigurationSource configurationSource) { Guard.ArgumentNotNull(container, "container"); Guard.ArgumentNotNull(configurationSource, "configurationSource"); UnityContainerConfigurator configurator = new UnityContainerConfigurator(container); configurator.RegisterAll(configurationSource, this); }
public void Given() { configurationSource = new MockConfigSource(); var mock = new Mock<ITypeRegistrationsProvider>(); mock.Setup(p => p.GetRegistrations(It.IsAny<IConfigurationSource>())) .Returns(new TypeRegistration[0]); mockRegistrationsProvider = mock.Object; container = new UnityContainer(); configurator = new UnityContainerConfigurator(container); configurator.RegisterAll(configurationSource, mockRegistrationsProvider); }
protected override void Arrange() { updatableConfigurationSource = new ConfigurationSourceUpdatable(); ruleProvider = new AuthorizationRuleProviderData(); ruleProvider.Name = "ruleProvider"; settings = new SecuritySettings(); settings.AuthorizationProviders.Add(ruleProvider); updatableConfigurationSource.Add(SecuritySettings.SectionName, settings); container = new UnityContainer(); containerConfigurator = new UnityContainerConfigurator(container); EnterpriseLibraryContainer.ConfigureContainer(containerConfigurator, updatableConfigurationSource); }
protected override void Arrange() { updatableConfigurationSource = new ConfigurationSourceUpdatable(); exceptionPolicy1 = new ExceptionPolicyData("default"); exceptionTypeData = new ExceptionTypeData("Exception", "System.Exception", PostHandlingAction.ThrowNewException); exceptionPolicy1.ExceptionTypes.Add(exceptionTypeData); ehabSettings = new ExceptionHandlingSettings(); ehabSettings.ExceptionPolicies.Add(exceptionPolicy1); updatableConfigurationSource.Add(ExceptionHandlingSettings.SectionName, ehabSettings); container = new UnityContainer(); containerConfigurator = new UnityContainerConfigurator(container); EnterpriseLibraryContainer.ConfigureContainer(containerConfigurator, updatableConfigurationSource); }
protected override void Initialize() { this.WellKnownITypeNameAutoRegistration<ContainerControlledLifetimeManager>(WellKnownAppParts.Manager); this.Container.RegisterType<IApplicationPrincipal, ThreadApplicationPrincipal>(new ContainerControlledLifetimeManager()); var configurationSource = new DictionaryConfigurationSource(); var builder = new ConfigurationSourceBuilder(); builder.ConfigureCryptography() .EncryptUsingHashAlgorithmProviderNamed(UserManager.HashInstance) .WithOptions .UsingHashAlgorithm<Zetetic.Security.Pbkdf2Hash>() /*.SetAsDefault()*/; // do not want Pbkdf2Hash (low speed algorithm) to be default builder.UpdateConfigurationWithReplace(configurationSource); var configurator = new UnityContainerConfigurator(this.Container); EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource); }
protected override void Arrange() { updatableConfigurationSource = new ConfigurationSourceUpdatable(); cryptoSettings = new CryptographySettings(); hashProvider = new HashAlgorithmProviderData("hash provider", typeof(MD5), true); cryptoSettings.HashProviders.Add(hashProvider); cryptoSettings.DefaultHashProviderName = hashProvider.Name; symmetricAlgorithmProvider = new CustomSymmetricCryptoProviderData("symm provider", typeof(MockCustomSymmetricProvider)); cryptoSettings.SymmetricCryptoProviders.Add(symmetricAlgorithmProvider); cryptoSettings.DefaultSymmetricCryptoProviderName = symmetricAlgorithmProvider.Name; updatableConfigurationSource.Add(CryptographySettings.SectionName, cryptoSettings); container = new UnityContainer(); containerConfigurator = new UnityContainerConfigurator(container); EnterpriseLibraryContainer.ConfigureContainer(containerConfigurator, updatableConfigurationSource); }
public void Setup() { configurationSource = new ConfigurationSourceUpdatable(); cacheSettings = new CacheManagerSettings(); configurationSource.Add(CacheManagerSettings.SectionName, cacheSettings); cacheStorageData = new CacheStorageData("Null Storage", typeof(NullBackingStore)); cacheManagerData = new CacheManagerData("Default Cache Manager", 10, 10, 10, cacheStorageData.Name); CacheManagerSettings settings = new CacheManagerSettings(); cacheSettings.CacheManagers.Add(cacheManagerData); cacheSettings.BackingStores.Add(cacheStorageData); cacheSettings.DefaultCacheManager = cacheManagerData.Name; UnityContainer container = new UnityContainer(); configurator = new UnityContainerConfigurator(container); serviceLcoator = new UnityServiceLocator(container); EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource); }
public static IUnityContainer GetUnityContainer() { if (m_unityContainer == null) { lock (m_locker) { if (m_unityContainer == null) { m_unityContainer = new UnityContainer(); UnityContainerConfigurator configurator = new UnityContainerConfigurator(m_unityContainer); EnterpriseLibraryContainer.ConfigureContainer(configurator, ConfigurationSourceFactory.Create()); m_unityContainer.AddNewExtension<InterceptionExtension>(); //If load mapping setting from config //m_unityContainer.LoadConfiguration(); } } } return m_unityContainer; }
public static UnityContainer Create() { var container = new UnityContainer(); container.InstallCoreExtensions(); // Configurator will read Enterprise Library configuration // and set up the container var configurator = new UnityContainerConfigurator(container); // Configuration source holds the new configuration we want to use // load this in your own code IConfigurationSource configSource = new SystemConfigurationSource(true); // Configure the container EnterpriseLibraryContainer.ConfigureContainer(configurator, configSource); // Self-register and set up service location container.RegisterInstance<IUnityContainer>(container); var locator = new UnityServiceLocator(container); ServiceLocator.SetLocatorProvider(() => locator); return container; }
public void TestGetExceptionManagerFromServiceLocator() { // Create the container var container = new UnityContainer(); // Configurator will read Enterprise Library configuration // and set up the container var configurator = new UnityContainerConfigurator(container); // Configuration source holds the new configuration we want to use // load this in your own code var configSource = new FileConfigurationSource("EntLib.config.xml"); // Configure the container EnterpriseLibraryContainer.CreateDefaultContainer(configSource); // Wrap in ServiceLocator var locator = new UnityServiceLocator(container); // And set Enterprise Library to use it EnterpriseLibraryContainer.Current = locator; var exceptionManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>(); Assert.NotNull(exceptionManager); }
public void Given() { container = new UnityContainer(); var typeRegistrationProvider = new ValidationTypeRegistrationProvider(); var configurator = new UnityContainerConfigurator(container); configurator.RegisterAll( new DictionaryConfigurationSource(), typeRegistrationProvider); }
/// <summary> /// Create a new instance of <see cref="IServiceLocator"/> that has been configured /// with the information in the given <paramref name="configurationSource"/>. /// </summary> /// <param name="configurationSource"><see cref="IConfigurationSource"/> containing Enterprise Library /// configuration information.</param> /// <returns>The <see cref="IServiceLocator"/> object.</returns> public static IServiceLocator CreateDefaultContainer(IConfigurationSource configurationSource) { IUnityContainer container = new UnityContainer(); var configurator = new UnityContainerConfigurator(container); ConfigureContainer(configurator, configurationSource); return new UnityServiceLocator(container); }
public void Given() { container = new UnityContainer(); var configurationSource = new DictionaryConfigurationSource(); ValidationSettings settings = new ValidationSettings(); configurationSource.Add(ValidationSettings.SectionName, settings); ValidatedTypeReference typeReference = new ValidatedTypeReference(typeof(BaseTestDomainObject)); settings.Types.Add(typeReference); typeReference.DefaultRuleset = "RuleA"; ValidationRulesetData ruleData = new ValidationRulesetData("RuleA"); typeReference.Rulesets.Add(ruleData); ValidatedPropertyReference propertyReference1 = new ValidatedPropertyReference("Property1"); ruleData.Properties.Add(propertyReference1); MockValidatorData validator11 = new MockValidatorData("validator1", true); propertyReference1.Validators.Add(validator11); validator11.MessageTemplate = "message-from-config1-RuleA"; MockValidatorData validator12 = new MockValidatorData("validator2", true); propertyReference1.Validators.Add(validator12); validator12.MessageTemplate = "message-from-config2-RuleA"; MockValidatorData validator13 = new MockValidatorData("validator3", false); propertyReference1.Validators.Add(validator13); validator13.MessageTemplate = "message-from-config3-RuleA"; var typeRegistrationProvider = new ValidationTypeRegistrationProvider(); var configurator = new UnityContainerConfigurator(container); configurator.RegisterAll(configurationSource, typeRegistrationProvider); }
private void ConfigureExceptionHandling() { var configurationSource = new DictionaryConfigurationSource(); var builder = new ConfigurationSourceBuilder(); builder.ConfigureExceptionHandling() .GivenPolicyWithName(DeletePolicy) .ForExceptionType<Exception>() .ThenNotifyRethrow() .ForExceptionType<NHibernate.Exceptions.ConstraintViolationException>() .WrapWith<DeleteConstraintException>() .UsingMessage("Cannot delete object.") .ThenThrowNewException(); builder.UpdateConfigurationWithReplace(configurationSource); var configurator = new UnityContainerConfigurator(this.Container); EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource); }