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;
}
}
}