using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace Infrastructure.Startups { /// /// Program.cs里面的HostBuilder扩展 /// public static class HostBuilderExtensions { /// /// Web 主机注入 /// /// Web主机构建器 /// 外部程序集名称,如果HostingStartup存在多个程序集中可以使用;分隔,比如HostStartupLib;HostStartupLib2 /// IWebHostBuilder public static IWebHostBuilder Init(this IWebHostBuilder hostBuilder, string assemblyName) { hostBuilder.UseSetting(WebHostDefaults.HostingStartupAssembliesKey, assemblyName); return hostBuilder; } /// /// 初始化程序扩展 /// /// public static void UseAppStartup(this IWebHostBuilder hostBuilder) { System.Console.WriteLine("启动类执行了"); // 自动装载配置 hostBuilder.ConfigureAppConfiguration((hostingContext, config) => { // 存储环境对象 InternalApp.HostEnvironment = (IHostEnvironment)hostingContext.HostingEnvironment; // 加载配置 //InternalApp.AddConfigureFiles(config, InternalApp.WebHostEnvironment); }); // 自动注入 AddApp() 服务 hostBuilder.ConfigureServices((services) => { // 注册 Startup 过滤器 //services.AddTransient(); // 添加全局配置和存储服务提供器 InternalApp.InternalServices = services; // 初始化应用服务 //services.AddApp(); }); } } }