示例#1
0
        public static IEnumerable <IServiceDescriptor> GetDefaultServices(IConfiguration configuration)
        {
            var describer = new ServiceDescriber(configuration);

            yield return(describer.Transient <IHostingEngine, HostingEngine>());

            yield return(describer.Transient <IServerManager, ServerManager>());

            yield return(describer.Transient <IStartupManager, StartupManager>());

            yield return(describer.Transient <IStartupLoaderProvider, StartupLoaderProvider>());

            yield return(describer.Transient <IApplicationBuilderFactory, ApplicationBuilderFactory>());

            yield return(describer.Transient <IHttpContextFactory, HttpContextFactory>());

            yield return(describer.Singleton <ITypeActivator, TypeActivator>());

            yield return(describer.Instance <IApplicationLifetime>(new ApplicationLifetime()));

            // TODO: Do we expect this to be provide by the runtime eventually?
            yield return(describer.Singleton <ILoggerFactory, LoggerFactory>());

            yield return(describer.Scoped(typeof(IContextAccessor <>), typeof(ContextAccessor <>)));

            foreach (var service in OptionsServices.GetDefaultServices())
            {
                yield return(service);
            }

            foreach (var service in DataProtectionServices.GetDefaultServices())
            {
                yield return(service);
            }
        }
示例#2
0
        public static MySafe InitProtection()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddOptions();
            DataProtectionServices.GetDefaultServices();
            serviceCollection.AddDataProtection(config =>
            {
                config.PersistKeysToFileSystem(new DirectoryInfo("."))
                .SetDefaultKeyLifetime(TimeSpan.FromDays(20))
                .ProtectKeysWithDpapi();
            });

            IServiceProvider services = serviceCollection.BuildServiceProvider();

            return(ActivatorUtilities.CreateInstance <MySafe>(services));
        }