|  | @@ -46,11 +46,23 @@ using ZhonTai.ApiUI;
 | 
	
		
			
				|  |  |  using NLog.Web;
 | 
	
		
			
				|  |  |  using Autofac.Extensions.DependencyInjection;
 | 
	
		
			
				|  |  |  using Microsoft.AspNetCore.Mvc;
 | 
	
		
			
				|  |  | +using ZhonTai.Admin.Core.Startup;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace ZhonTai.Admin.Core
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      public class HostApp
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | +        HostAppOptions _hostAppOptions;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public HostApp()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public HostApp(HostAppOptions hostAppOptions)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            _hostAppOptions = hostAppOptions;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          public void Run(string[] args)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              var builder = WebApplication.CreateBuilder(args);
 | 
	
	
		
			
				|  | @@ -132,6 +144,15 @@ namespace ZhonTai.Admin.Core
 | 
	
		
			
				|  |  |          /// <param name="appConfig"></param>
 | 
	
		
			
				|  |  |          private void ConfigureServices(IServiceCollection services, IWebHostEnvironment env, IConfiguration configuration, ConfigHelper configHelper, AppConfig appConfig)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | +            var hostAppContext = new HostAppContext()
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                Services = services,
 | 
	
		
			
				|  |  | +                Environment = env,
 | 
	
		
			
				|  |  | +                Configuration = configuration
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            _hostAppOptions?.ConfigurePreServices?.Invoke(hostAppContext);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              //雪花漂移算法
 | 
	
		
			
				|  |  |              YitIdHelper.SetIdGenerator(new IdGeneratorOptions(1) { WorkerIdBitLength = 6 });
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -157,10 +178,10 @@ namespace ZhonTai.Admin.Core
 | 
	
		
			
				|  |  |              //添加数据库
 | 
	
		
			
				|  |  |              services.AddDbAsync(env).Wait();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -           
 | 
	
		
			
				|  |  |              //数据库配置
 | 
	
		
			
				|  |  |              var dbConfig = ConfigHelper.Get<DbConfig>("dbconfig", env.EnvironmentName);
 | 
	
		
			
				|  |  |              services.AddSingleton(dbConfig);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              //添加IdleBus单例
 | 
	
		
			
				|  |  |              var timeSpan = dbConfig.IdleTime > 0 ? TimeSpan.FromMinutes(dbConfig.IdleTime) : TimeSpan.MaxValue;
 | 
	
		
			
				|  |  |              var ib = new IdleBus<IFreeSql>(timeSpan);
 | 
	
	
		
			
				|  | @@ -436,6 +457,8 @@ namespace ZhonTai.Admin.Core
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              services.AddHttpClient();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            _hostAppOptions?.ConfigureServices?.Invoke(hostAppContext);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              #region 缓存
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              var cacheConfig = ConfigHelper.Get<CacheConfig>("cacheconfig", env.EnvironmentName);
 | 
	
	
		
			
				|  | @@ -479,6 +502,8 @@ namespace ZhonTai.Admin.Core
 | 
	
		
			
				|  |  |                  .Select(o => Assembly.Load(new AssemblyName(o.Name))).ToArray();
 | 
	
		
			
				|  |  |                  options.AddAssemblyOptions(assemblies);
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            _hostAppOptions?.ConfigurePostServices?.Invoke(hostAppContext);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 |