Exemple #1
0
Fichier : Use.cs Projet : lr030/ML
        public static IApplicationBuilder UseZen(this IApplicationBuilder app, Action <IZenBuilder> configuration = null, IHostEnvironment env = null)
        {
            configuration = configuration ?? (x => { });

            Instances.ApplicationBuilder = app;

            var optionsProvider = app.ApplicationServices.GetService <IOptions <ZenOptions> >();

            var options = new ZenOptions(optionsProvider.Value);

            AutoService.UseAll(app, env);

            var builder = new ZenBuilder(app, options);

            configuration.Invoke(builder);

            Current.State = Status.EState.Running;

            Current.Log.Add(Current.State.ToString(), Message.EContentType.StartupSequence, Host.ApplicationAssemblyName);

            return(app);
        }
Exemple #2
0
        public static ZenBuilder AddZen(this IServiceCollection services, Action <ZenOptions> configureOptions = null)
        {
            Instances.ServiceCollection = services;

            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            Current.State = Status.EState.Starting;

            var builder = new ZenBuilder(services);

            if (configureOptions != null)
            {
                services.Configure(configureOptions);
            }

            services.AddHostedService <ApplicationLifetimeHostedService>();

            Log.KeyValuePair("ZenBuilder", $"{services.Count} services registered", Message.EContentType.StartupSequence);

            return(builder);
        }