Esempio n. 1
0
        public static IUnityContainer ConfigureApplicationStorage(this IUnityContainer container, bool useFileCache = true)
        {
            container.RegisterType <IKeyManager, XmlKeyManager>();

            if (useFileCache)
            {
                container
                .RegisterType <TokenCache, FileCache>(new ContainerControlledLifetimeManager(), new InjectionConstructor(typeof(ILoggerFactory), typeof(IDataProtectionProvider)))
                .RegisterType <IDataProtectionProvider>(new ContainerControlledLifetimeManager(), new InjectionFactory(c => DataProtectionProvider.Create(c.Resolve <ICodePackageActivationContext>().ApplicationName)));
            }
            else
            {
                container.RegisterInstance(new TokenCache());
            }


            return(container
                   .AddSingleton <StorageConfiguration>());
        }