/// <summary>
        /// 自动装配服务配置: <see cref="IServiceProviderAssembler"/>
        /// </summary>
        /// <param name="kernelServiceProvider"></param>
        /// <returns></returns>
        public static IKernelServiceProvider AssembleServiceProvider(this IKernelServiceProvider kernelServiceProvider)
        {
            var autowireProvider = kernelServiceProvider.GetRequiredService <IAssemblerProvider <IServiceProviderAssembler> >();
            var kernelServices   = kernelServiceProvider.GetRequiredService <IKernelServices>();
            var dic = autowireProvider.Load(kernelServices, kernelServiceProvider);

            autowireProvider.Execute(dic, r => { r.ServiceInstance.Configure(kernelServiceProvider); });
            return(kernelServiceProvider);
        }
        /// <summary>
        /// 自动装配服务配置: <see cref="IServiceAssembler"/>
        /// </summary>
        /// <param name="kernelServiceProvider"></param>
        /// <param name="autowireAction"></param>
        /// <returns></returns>
        public static IKernelServiceProvider Assemble <T>(this IKernelServiceProvider kernelServiceProvider,
                                                          Action <T> autowireAction) where T : IAssembler
        {
            if (autowireAction is null)
            {
                throw new ArgumentNullException(nameof(autowireAction));
            }
            var autowireProvider = kernelServiceProvider.GetRequiredService <IAssemblerExecutor <T> >();

            autowireProvider.Execute(kernelServiceProvider, autowireAction);
            return(kernelServiceProvider);
        }
        public void Configure(IApplicationBuilder app, IKernelServiceProvider kernelServiceProvider)
        {
            app.UseHangfireServer();
            if (Options.Value.Enable)
            {
                app.UseHangfireDashboard();
            }

            // 得到所有的循环任务
            var allRecurringJob = app.ApplicationServices.GetServices <IRecurringJob>().ToList();

            if (!allRecurringJob.IsNullOrEmpty())
            {
                // 统一添加到循环任务执行机
                foreach (var item in allRecurringJob)
                {
                    RecurringJob.AddOrUpdate(item.JobId, () => item.Execute(), item.CronExpression, TimeZoneInfo.Local);
                }
            }
        }
        public void Configure(IApplicationBuilder app, IKernelServiceProvider kernelServiceProvider)
        {
            if (!WxOptions.Value.Enable)
            {
                return;
            }

            {
                var senparcSetting = app.ApplicationServices.GetRequiredService <IOptions <SenparcSetting> >();
                var env            = app.ApplicationServices.GetRequiredService <IHostEnvironment>();

                app.UseSenparcGlobal(env, senparcSetting.Value,
                                     globalRegister =>
                {
                    kernelServiceProvider.Autowire <IWxConfigureExtensionAutowire>(
                        r => r.Configure(globalRegister, app.ApplicationServices));
                });
            }

            app.UseWxApi();
        }
示例#5
0
 public void Configure(IKernelServiceProvider kernelServiceProvider)
 {
     Inited = true;
 }
示例#6
0
 public void Configure(IApplicationBuilder app, IKernelServiceProvider kernelServiceProvider)
 {
     app.UsePayNotify();
 }
 /// <summary>
 /// 执行自动迁移
 /// </summary>
 /// <param name="serviceProvider"></param>
 public static IKernelServiceProvider DoAutoMigration(this IKernelServiceProvider serviceProvider)
 {
     DoAutoMigration((IServiceProvider)serviceProvider);
     return(serviceProvider);
 }
示例#8
0
 internal static void InitServiceProvider(IKernelServiceProvider serviceProvider)
 {
     KernelServiceProvider = serviceProvider;
 }