using NCC; using NCC.Dependency; using NCC.Reflection; using Microsoft.AspNetCore.Hosting; namespace Microsoft.Extensions.Hosting { /// /// 主机构建器拓展类 /// [SuppressSniffer] public static class HostBuilderExtensions { /// /// Web 主机注入 /// /// Web主机构建器 /// 外部程序集名称 /// IWebHostBuilder public static IWebHostBuilder Inject(this IWebHostBuilder hostBuilder, string assemblyName = default) { var frameworkPackageName = assemblyName ?? Reflect.GetAssemblyName(typeof(HostBuilderExtensions)); hostBuilder.UseSetting(WebHostDefaults.HostingStartupAssembliesKey, frameworkPackageName); return hostBuilder; } /// /// 泛型主机注入 /// /// 泛型主机注入构建器 /// 是否自动注册 BackgroundService /// IWebHostBuilder public static IHostBuilder Inject(this IHostBuilder hostBuilder, bool autoRegisterBackgroundService = true) { InternalApp.ConfigureApplication(hostBuilder, autoRegisterBackgroundService); return hostBuilder; } } }